什么是在python中保存元组的最佳方法

时间:2016-01-29 17:15:25

标签: python

我有一个返回包含数字,字符串和数组的元组的函数。例如,(1, 2, 3, [[1,2,3],[4,5,6]], ['a','b','c'])。我需要运行我的功能100次并保存所有结果。我想将每个结果保存为文本文件。所以我可以有100 * .txt这样的文件:

my number1: 1
my number2: 2
my number3: 3
My array:   [[1,2,3],[4,5,6]]
My Names:   ['a','b','c']

如何编写python代码?

是否有更好的方法可以保存结果,以便日后轻松重新访问数据?

2 个答案:

答案 0 :(得分:9)

是的,您可以import pickle并使用pickle.dump()pickle.load()来读取和写入文件。

以下是将其写入文件的方法:

data = (1, 2, 3, [[1,2,3],[4,5,6]], ['a','b','c'])
with open('data.pickle', 'wb') as f:
    pickle.dump(data, f)

请阅读:

with open('data.pickle', 'rb') as f:
     data = pickle.load(f)

答案 1 :(得分:1)

如果您希望跨语言轻松重新访问数据,可以使用JSON。

import json
data = (1, 2, 3, [[1,2,3],[4,5,6]], ['a','b','c'])
#save your data to a json file
with open('data01.json', 'w') as fjson:
    json.dump(data, fjson)

#json file can easily be read using other languages as well
with open('data01.json', 'r') as fjson:
    revis_data = json.load(fjson)

注意: revis_data将转换为列表,不再是元组。如果您希望在重新加载后保持元组,只需执行tuple(revis_data)