2017-02-01 4 views
1

Я действительно боролся с простой задачей написания массивов python в txt-файле.Напишите базовый массив в txt-файл?

Скажем, у меня есть массив

a = ["hello", "stack overflow"] 

мне нужен способ получения текстового файла (array.txt), чтобы сохранить этот массив - я не потрудился в каком формате сохраняется:

"hello" "stack overflow" 

Возможно, проще преобразовать его в строку, а затем записать в файл array.txt. В этом случае, как бы я написал:

a = "hello stack overflow" 

для array.txt.

+0

Какие проблемы вы с? – Barmar

+0

Вы не указали, что искали. Если вы не опознаете свое недоразумение, тогда ответ не сможет его правильно очистить. – roganjosh

+0

http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python – Prune

ответ

2

С json.dump вы можете легко сохранить списки или словари python в файл и снова открыть его с помощью json.load.

import json 
a = ["hello", "world"] 
with open("output.txt", "w") as outfile: 
    json.dump(a, outfile) 

Чтобы загрузить массив из файла снова:

import json 
with open("output.txt", "r") as infile: 
    a = json.load(infile) 
+0

У меня есть TypeError: array ([0., 0., 0., ..., 2., 2., 2.]) не является сериализуемым JSON –

1

Или еще проще можно объединить список с: ''.join(array)

Это требует мало итераций, используя встроенные функции, как правило, означает, что лучше производительность, встроенные функции обычно записываются на C. Он также не требует модулей.

Вот пример

a = ["hello","stack overflow"] 

a_merged = ' '.join(a) 
with open("array.txt",'w') as f: 
    f.write(a_merged) 
+0

. Спасибо, лист. –

+0

спасибо :) Я попробую это –

+0

Спасибо за ваше внимание :) Помогает мне много! –