我正在尝试制作一个简单的密码管理器(使用python),并且已经编写了一些将服务名称和随机生成的密码存储在元组中的代码。这只是一个普通的txt文件。我遇到的问题是,当我逐行读取文件并获取元组时(看起来像这样-(“ YouTube”,“ vwL4F7MC94VBERtS7xGdL2IugT2b3n!H”),并将其附加到我的列表中,它显示如下:
['("YouTube", "vwL4F7MC94VBERtS7xGdL2IugT2b3n!H")', '("Google", "tcOtnrc6ES9ZH%PdPb$m%8fvOT4uZiJt")']
我需要它看起来像这样:
[("YouTube", "vwL4F7MC94VBERtS7xGdL2IugT2b3n!H"), ("Google", "tcOtnrc6ES9ZH%PdPb$m%8fvOT4uZiJt")]
如您所见,引号出现在两个元组的前后,这意味着当我去列出服务名称时,它没有正确列出它们,因为当我只想要'('是元组中的第一项时,例如,它可以列出:Google,Youtube。我的代码中还有其他所有功能,甚至尝试手动更改列表,它都可以正常工作。我试图只删除字符',但这不起作用,因为那些引号的作用类似于这是我的代码,它读取文件并将其作为元组附加到列表中:
#opening data
data = open("D:\Documents\Password Manager\data.txt", "r")
for line in data.readlines():
list_services_passwords.append(line)
print(line)
print(list_services_passwords)
data.close()
编辑:
这是data.txt文件的内容:
(“ YouTube”,“ vwL4F7MC94VBERtS7xGdL2IugT2b3n!H”)
(“ Google”,“ tcOtnrc6ES9ZH%PdPb $ m%8fvOT4uZiJt”)
import ast
with open("D:\Documents\Password Manager\data.txt", "r") as fp:
list_services_passwords = fp.readlines()
list_services_passwords = [ast.literal_eval(p) for p in list_services_passwords]
输出:
[('YouTube', 'vwL4F7MC94VBERtS7xGdL2IugT2b3n!H'), ('Google', 'tcOtnrc6ES9ZH%PdPb$m%8fvOT4uZiJt')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句