我正在尝试将以下字符串转换为字典,其中IP将成为密钥,而|之后的所有内容都将成为值:
my_string = '''10.11.22.33|{"property1": "0", "property2": "1", "property3": "1", "property4": "1", "property5": "0"}
10.11.22.34|{"property1": "0", "property2": "0", "property3": "1", "property4": "1", "property5": "0", "property6": "0", "property7": "1", "property8": "0", "property9": "0", "property10": "1"}'''
这是我尝试过的代码:
^{pr2}$但是,我得到一个错误:
ValueError: dictionary update sequence element #1 has length 1; 2 is required
所以,我把我的_字符串简化为一行:
my_string = '10.11.22.33|{"property1": "0", "property2": "1", "property3": "1", "property4": "1", "property5": "0"}'
并使用此代码首先拆分行:
wow = my_string.split('|')
输出:
['10.11.22.33', '{"property1": "0", "property2": "1", "property3": "1", "property4": "1", "property5": "0"}']
上面是两个元素的列表。但是,当我试图从中创建字典时,它失败了,并出现以下错误:
d = dict(wow)
输出:
ValueError: dictionary update sequence element #0 has length 11; 2 is required
我不想修改这个值-它需要保持原样。把这一行输入字典的正确方法是什么
{'10.11.22.33': '{"property1": "0", "property2": "1", "property3": "1", "property4": "1", "property5": "0"}'}
这是python2.6。在
您需要先
split
将字符串放在\n
上:您还可以查看^{} :
^{pr2}$其中
s
是您的字符串您的第一种方法是正确的,只是它在错误的位置拆分,因为^{} 默认使用空格作为分隔符。请改为尝试^{} :
相关问题 更多 >
编程相关推荐