我目前正在使用python从一个树莓派将一个python字典传输到另一个433Mhz链接上,使用虚拟线路(vw.py)发送数据。从字符串中提取字典键值
vw.py
的问题是发送的数据是字符串格式。
我成功接收PI_no2上的数据,现在我正在尝试重新格式化数据,以便它可以放回到字典中。
我创建了一个小片段来进行测试,并创造了它收到来自vw.py
到目前为止,我已经成功地分割字符串在结肠相同格式的临时字符串,而我现在试图摆脱双引号,没有太大的成功。
my_status = {}
#temp is in the format the data is recieved
temp = "'mycode':['1','2','firstname','Lastname']"
key,value = temp.split(':')
print key
print value
key = key.replace("'",'')
value = value.replace("'",'')
my_status.update({key:value})
print my_status
给出结果
'mycode'
['1','2','firstname','Lastname']
{'mycode': '[1,2,firstname,Lastname]'}
我需要的价值是在格式
['1','2','firstname','Lastname']
但带摆脱所有的单语音标记。
使用'ast.literal_eval',也许在开始和结束时加上'{'和'}'这是一本字典,但它会安全地评估它 –
您是否尝试过使用JSON? –
,或者你可以[pickle](https://docs.python.org/2/library/pickle.html)更复杂的数据结构(但是Python特定的)数据结构。 –