我有一个函数,它返回一个包含数字,字符串和数组的元组(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']
Run Code Online (Sandbox Code Playgroud)
如何编写python代码?
是否有更好的方法来保存结果,以便将来轻松重新访问数据?
rbp*_*rbp 10
是的,您可以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)
Run Code Online (Sandbox Code Playgroud)
请阅读:
with open('data.pickle', 'rb') as f:
data = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)
如果您希望轻松地跨语言重新访问数据,可以使用 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)
Run Code Online (Sandbox Code Playgroud)
注意:将revis_data转换为列表,不再是元组。如果你希望它在重新加载后仍然是一个元组,只需这样做tuple(revis_data)