【发布时间】:2018-01-28 00:33:47
【问题描述】:
我选择了python的路径。
现在,我需要解析输出数据 saltstack
例如:
{"fun_args": [], "jid": "20180127110016597705", "return": {"biosversion": "0407\\nInvalid entry length (16). Fixed up to 11.", "kernel": "Linux", "domain": "corp.test.com", "uid": 0, "zmqversion": "4.1.4", "kernelrelease": "4.10.0-42-generic", "pythonpath": ["/usr/bin", "/usr/lib/python2.7", "/usr/lib/python2.7/plat-x86_64-linux-gnu", "/usr/lib/python2.7/lib-tk", "/usr/lib/python2.7/lib-old", "/usr/lib/python2.7/lib-dynload", "/usr/local/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages/gtk-2.0"], "serialnumber": "System Serial Number\\nInvalid entry length (16). Fixed up to 11.", "pid": 29227, "ip_interfaces": {"lo": ["127.0.0.1", "::1"], "enp6s0": ["10.0.1.83", "fe80::758:bc44:76a7:9bd6"]}, "groupname": "root", "fqdn_ip6": [], "mem_total": 3861,
现在我将这些数据作为包含一个元素的元组。
我可以将元组转换为字典,但它也有一个元素。
我想解析这些数据,像这样(字典):
{"fun_args": [], "jid": "20180127110016597705",
"return":
{
"biosversion": "0407\\nInvalid entry length (16). Fixed up to 11.",
"kernel": "Linux",
"domain": "corp.test.com",
"uid": 0,
"zmqversion": "4.1.4",
"kernelrelease": "4.10.0-42-generic",
"pythonpath": ["/usr/bin", "/usr/lib/python2.7", "/usr/lib/python2.7/plat-x86_64-linux-gnu", "/usr/lib/python2.7/lib-tk", "/usr/lib/python2.7/lib-old", "/usr/lib/python2.7/lib-dynload", "/usr/local/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages/gtk-2.0"],
"serialnumber": "System Serial Number\\nInvalid entry length (16). Fixed up to 11.",
"pid": 29227,
"ip_interfaces": {
"lo": ["127.0.0.1", "::1"],
"enp6s0": ["10.0.1.83", "fe80::758:bc44:76a7:9bd6"]
},
"groupname": "root",
"fqdn_ip6": [],
"mem_total": 3861,
谢谢。 我试试看:
#!/usr/bin/env python
import mysql.connector
from mysql.connector import Error
def connect():
""" Connect to MySQL database """
try:
conn = mysql.connector.connect(host='10.0.0.125',
database='salt',
user='salt',
password='salt')
if conn.is_connected():
#print('Connected to MySQL database')
cursor = conn.cursor()
cursor.execute("SELECT full_ret FROM salt_returns WHERE fun='grains.items'")
row = cursor.fetchone()
s = ''.join((row[0]))
#print(s.split())
list = s.split()
#print(list)
for i in list:
print(i)
except Error as e:
print(e)
finally:
conn.close()
【问题讨论】:
-
请显示您的代码/努力?
-
不在评论区,编辑成问题。
-
使用 Ctrl+K 格式化代码。
-
如果您的数据是字符串,并且您想从中构造一个字典,请使用 json。
-
对不起我的语法,这是我第一次询问...
标签: python parsing salt-stack