[英]saving a structure of a list with the data in a text file using Python
我有一个元组列表的列表,我想将它们存储为字符串形式的文本文件,然后从另一个Python脚本中读取它,并使用ast.literal_eval将其从字符串转换为列表。
我的问题是,是否有可能不仅将列表中的数据写入文本文件,而且还可能将元组列表的整个结构写入文本文件。
例如,具有这样的文本文件:
[[(365325.342877, 4385460.998374), (365193.884409, 4385307.899807), (365433.717878, 4385148.9983749995)]]
这有意义吗?
这听起来比写文本文件和使用ast.literal_eval
更适合pickle
。
>>> import pickle
>>> l = [(1,2),(3,4)]
>>> with open('new_pickle.txt', 'wb') as f:
pickle.dump(l, f)
>>> ================================ RESTART ================================
>>> import pickle
>>> with open('new_pickle.txt' ,'rb') as f:
l = pickle.load(f)
>>> l
[(1, 2), (3, 4)]
>>>
只要所有值都是具有文字表示形式的Python内置值(例如,int,float,str,bytes),写出repr都可以。 但是你不应该这样做。 它仅限于Python文字且速度较慢。 使用pickle模块 (Python标准)来序列化任意数据; 它速度更快,可用于缺少文字表示形式的类型,并且(通常)产生较小的输出(尤其是在使用协议2和更高版本的协议时)。
编辑 :关于重现性的问题:泡菜可精确地重现原始结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.