python – 读取存储在textfile中的元组

我一直在寻找一种在运行时之后永久存储由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.dumppickle.load为您完成所有工作.如果您不介意文件采用Python特定格式,那么这是一个合理的选择.

另请考虑使用sqlite3存储数据.此格式可由其他程序读取,并且是可查询的(即,您只能检索文件名字段而不是整个记录).

否则,读取直接文本转储的传统解决方案是逐行读取文件,解析或评估文本以将其转换回Python对象,然后提取感兴趣的字段:

for line in codecs.open("data.txt", "r", encoding="utf-8"):
    tup = ast.literal_eval(line)
    print tup[1]
上一篇:python – 如何按排序顺序对列表中的项进行分组?


下一篇:Python – 如何使用列标题从CSV数据文件创建字典