使用python

时间:2018-08-15 10:08:24

标签: python python-3.x python-2.7 python-requests subprocess

我是python脚本的新手。我试图将json key_value解析为stdout。以下是我的脚本。帮我解决以下错误。

    pt="{'outval': 1.132805, 'max': 1.13283, 'to': 1534326908, 'bvalue': 1.13274, 'min': 1.132805, 'from': 1534326907, 'cvalue': 1.132825, 'at': 1534326907164488223, 'avalue': 1.13291, 'size': 1, 'aid': 1, 'vl': 0, 'id': 17777726}"

    print(pt["outval"])
    print(pt["to"])
    print(pt["from"])

错误:

Traceback (most recent call last): File "j.py", line 5, in <module> print(pt["outval"]) TypeError: string indices must be integers, not str

预期输出:

1.132805
1534326908
1534326907

预先感谢

1 个答案:

答案 0 :(得分:1)

感谢乔恩的想法。我使用ast.literal_eval提取所需的密钥对。下面是我更新的代码。

import json
import ast

pt="{'outval': 1.132805, 'max': 1.13283, 'to': 1534326908, 'bvalue': 1.13274, 'min': 1.132805, 'from': 1534326907, 'cvalue': 1.132825, 'at': 1534326907164488223, 'avalue': 1.13291, 'size': 1, 'aid': 1, 'vl': 0, 'id': 17777726}"

s=ast.literal_eval(pt)
print(s['outval'])
print(s['to'])
print(s['from'])

输出:

root@lamp-1-vm:~/1# python j.py
1.132805
1534326908
1534326907