我想将程序中的问题数据写入txt文件 例如:
m=4
n=2
mat=[[0,1],[2,3],[3,0],[0,1]]
我尝试使用file.write()
,但是我不知道如何用它写矩阵,因为它只写字符串值
答案 0 :(得分:0)
我认为您可以使用numpy
库来保存数组,然后,如果您希望程序中的值可以加载并使用它,还可以打开txt文件并查看这些值。
例如:
import numpy as np
mtx = [[0,1],[2,3],[3,0],[0,1]]
arr = np.array(mtx)
np.savetxt('mytextarray.txt' , arr , delimiter = ',')
然后您可以加载它:
arr = np.loadtxt('mytextarray.txt' , delimiter=',')
答案 1 :(得分:0)
您可以编写数据的repr()
,然后使用ast.literal_eval()
将其解析回Python,但这将在已经拥有json的情况下重新发明众所周知的SquaredWheel(tm):
import json
data = {
"m":4,
"n":2,
"mat": [[0,1],[2,3],[3,0],[0,1]]
}
def save_data(filepath, data):
with open(filepath, "w") as f:
json.dump(f, data)
def read_data(filepath):
with open(filepath, "r") as f:
return json.load(f)
这对于python的json
模块支持的所有“基本”类型(字符串,整数,浮点数,列表,字典,元组,布尔值和None
对象)都是开箱即用的,并且如果需要支持其他类型,则可以提供自己的json编码器和解码器。