我一直在寻找一种在运行时之后永久存储由python程序创建的元组的方法.所以我只是简单地决定将这些数据写入文本文件(或者是否有一些更优雅但简单的推荐解决方案?)
所以这样做的命令看起来像:
import codecs
txt = codecs.open("data.txt", "w", encoding="utf-8")
.
.
.
data = set1, set2, set3
print >> txt, data
产生一个看起来像的文本文件
(u'name1', 'file1', 'date1')
(u'name2', 'file2', 'date2')
.
.
.
访问data.txt的正确方法是什么,只显示所有第二个数据集,例如’file1′,’file2’等?
我讨论了for循环,read()和readline(),但从来没有只是我文件中第二项的简单输出…我希望有人可以帮助我吗?
非常感谢!
解决方法:
考虑使用pickle.dump和pickle.load为您完成所有工作.如果您不介意文件采用Python特定格式,那么这是一个合理的选择.
另请考虑使用sqlite3存储数据.此格式可由其他程序读取,并且是可查询的(即,您只能检索文件名字段而不是整个记录).
否则,读取直接文本转储的传统解决方案是逐行读取文件,解析或评估文本以将其转换回Python对象,然后提取感兴趣的字段:
for line in codecs.open("data.txt", "r", encoding="utf-8"):
tup = ast.literal_eval(line)
print tup[1]