gpt4 book ai didi

python - 将python模块输出写入toml文件的方法

转载 作者:行者123 更新时间:2023-12-04 14:13:12 46 4
gpt4 key购买 nike

我正在用 python 编写一个扫描器,它将收集有关目标的各种信息,例如开放端口、版本信息等。
还使用保存单个扫描的配置设置的 toml 文件。
我需要一种方法来存储扫描结果。到目前为止,我正在使用一个包含所有目标数据的类。有没有办法将结果存储在文件中并让库函数根据要求解析和打印它们?
在 toml 表示中,我正在考虑类似的事情

[target]
ip = xx.xx.xx.xx
[target.os]
os = 'win 10'
Arch = 'x64'

[target.ports]
ports = ['1', '2']

[target.ports.1]
service = 'xxx'
ver = '5.9'
有没有办法以这种方式将扫描结果转储到 toml 文件?或者有没有其他方法可以做得更好?

最佳答案

toml图书馆可以为您做到这一点。还有其他像json , pyyaml等以几乎相同的方式工作。在您的示例中,您首先需要将信息存储在字典中,格式如下:

data = {
"target": {
"ip": "xx.xx.xx.xx",
"os": {
"os": "win 10",
"Arch": "x64"
},
"ports": {
"ports": ["1", "2"],
"1": {
"service": "xxx",
"ver": "5.9",
}
}
}
}
然后,你可以这样做:
import toml

toml_string = toml.dumps(data) # Output to a string

output_file_name = "output.toml"
with open(output_file_name, "w") as toml_file:
toml.dump(data, toml_file)
同样,您也可以 负载使用以下命令将 toml 文件转换为字典格式:
import toml

toml_dict = toml.loads(toml_string) # Read from a string

input_file_name = "input.toml"
with open(input_file_name) as toml_file:
toml_dict = toml.load(toml_file)

如果不是 toml您要使用 yamljson ,就像替换 toml 一样简单与 yamljson在所有命令中。它们都使用相同的调用约定。

关于python - 将python模块输出写入toml文件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62690573/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com