如何在python中存储密钥环时检索列表

时间:2014-02-13 18:02:34

标签: python arrays list python-keyring

我在python keyring中存储一个列表。但是当我检索它时,它会被转换为unicode

import keyring
c=[]
f=[]

c.append("ian")
c.append("ned")
c.append("stark")
print c
a="5555"
keyring.set_password(a,"internal",c)
d= keyring.get_password(a,"internal")
print d[0]

d = unicode:['harish','ravi','kisan']

c = ['harish','ravi','kisan'] d [0]的值是“[”而不是“ian” 类似地,d [1]是“i”不是“ned”。 我想把d列为类似c的列表。

2 个答案:

答案 0 :(得分:2)

使用ast.literal_eval。它会将字符串解释为Python代码,但安全。

示例:

>>> import ast
>>> l = ast.literal_eval("['hello', 'goodbye']")
>>> l
['hello', 'goodbye']
>>> type(l)
<type 'list'>

如果您获得的字符串无法解释为有效的Python,那么您将获得ValueError。如果是这种情况,您需要向我们展示您的输出结果,以确定正确的解决方案。

答案 1 :(得分:0)

使用Json解析输出:

import json
import keyring
c=[]
f=[]

c.append("ian")
c.append("ned")
c.append("stark")
print c
a="5555"
keyring.set_password(a,"internal",c)
d= json.loads(keyring.get_password(a,"internal"))
print d[0]