在文件上写入数据

时间:2019-06-02 20:42:41

标签: python matrix file-writing

我想将程序中的问题数据写入txt文件 例如:

m=4
n=2
mat=[[0,1],[2,3],[3,0],[0,1]]

我尝试使用file.write(),但是我不知道如何用它写矩阵,因为它只写字符串值

2 个答案:

答案 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编码器和解码器。