我写的代码如下:
array = [[1.630217208498539], [0.019929319226538452]] fo = open("file.txt", "w") fo.write(str(array)) fo.close()
这将把数组保存在.txt文件中,.txt文件中的内容在二维数组中如下:
[[1.630217208498539], [0.019929319226538452]]
我希望这个数组返回到另一个程序,以便我可以使用该数组进行进一步的计算(读取的数组不应该是字符串)
为了将数据从一个程序保存到文件并在另一个程序中读取成实际的数组结构,而不是字符串,你可以使用 json 模块或 pickle 模块来实现更简便的序列化和反序列化。以下是两种方法的示例:
json
pickle
json 是一种轻量级的数据交换格式,非常适合存储简单的结构(如列表、字典等)。但是,请注意 json 不支持保存 numpy 数组或其他复杂的 Python 数据类型。
numpy
import json array = [[1.630217208498539], [0.019929319226538452]] with open("file.json", "w") as fo: json.dump(array, fo) # 使用 json.dump() 将数组写入文件
import json with open("file.json", "r") as fo: array = json.load(fo) # 使用 json.load() 将数据从文件中读回 print(array) # 输出:[[1.630217208498539], [0.019929319226538452]] print(type(array)) # 输出:<class 'list'>
pickle 模块可以存储任意 Python 对象,因此它更通用。如果你需要存储复杂的数据结构,可以选择 pickle。
import pickle array = [[1.630217208498539], [0.019929319226538452]] with open("file.pkl", "wb") as fo: pickle.dump(array, fo) # 使用 pickle.dump() 将数据以二进制写入文件
import pickle with open("file.pkl", "rb") as fo: array = pickle.load(fo) # 使用 pickle.load() 从文件中读回数据 print(array) # 输出:[[1.630217208498539], [0.019929319226538452]] print(type(array)) # 输出:<class 'list'>