from subprocess import PIPE,run
....
....
log=run([myCmd,cwd='/my/dir',stdout=PIPE,stderr=PIPE)
现在log
的价值如下:
b'owner=mike\ntitle=clean\nmiles=120k\nlocation=tx\n'
解析并获取我感兴趣的值的最佳方法是什么,例如,我喜欢获取miles
的值120k
。我使用python3
答案 0 :(得分:0)
对其进行解码,然后滥用dict
接受可迭代的事实:
string = b'owner=mike\ntitle=clean\nmiles=120k\nlocation=tx\n'
string = string.decode()
print(dict(key_value.split('=') for key_value in string.split('\n') if key_value))
# {'owner': 'mike', 'title': 'clean', 'miles': '120k', 'location': 'tx'}
从这里开始,获取任意值的方法就像访问字典键一样简单:
d = dict(key_value.split('=') for key_value in string.split('\n') if key_value)
print(d['miles'])
# 120k
答案 1 :(得分:0)
去哪里,
_dict = {}
f = b'owner=mike\ntitle=clean\nmiles=120k\nlocation=tx\n'
[_dict.update({e.split("=")[0]: e.split("=")[1]} ) for e in f.decode().split("\n") if e]
对于里程价值,您可以
_dict["miles"]