使用文本文件来保存和读取数组

时间:2018-05-01 17:50:11

标签: python arrays python-3.x multidimensional-array text-files

我有一个数组,其中有许多数组,其中有许多数组,即一个大的嵌套数组。

我希望将这个巨型数组存储在一个文本文件中以便以后被另一个python程序使用 - 一个python程序生成数组并将其保存到文本文件中,而另一个python程序打开文本文件并保存它到它自己的本地阵列。

换句话说,这两个程序的大型嵌套数组必须相同。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我建议使用pickle模块而不是文本文件:

保存数组:

import pickle as pkl
arr = [...]
with open('save.pkl', 'wb') as f:
    pkl.dump(arr, f)

再次打开它:

with open('save.pkl', 'rb') as f:
    arr = pkl.load(f)

如果您确实想要使用文本文件,可以使用literal_eval()中的ast将文本更改为数组:

from ast import literal_eval
with open('mydata.txt') as f:
    arr = literal_eval(f.read())

然后更改数组:

with open('mydata.txt', 'w+') as f:
    f.write(str(arr))