Используйте текстовый файл для сохранения и чтения массива - PullRequest
0 голосов
/ 01 мая 2018

У меня есть массив, в котором есть много массивов, в которых есть много массивов, то есть большой вложенный массив.

Я бы хотел сохранить этот гигантский массив в текстовом файле, чтобы позже использовать его в другой программе на Python - одна программа на Python создает массив и сохраняет его в текстовом файле, а другая открывает текстовый файл и сохраняет его в своем файле. собственный локальный массив.

Другими словами, этот большой вложенный массив должен быть одинаковым для обеих программ.

Как именно я должен это сделать?

1 Ответ

0 голосов
/ 01 мая 2018

Я бы предложил использовать модуль 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))
...