2015-03-29 4 views
-1

Я сделал список из текстового файла, как это:Написание списка в текстовый файл?

plain_text = open((input_filename), 'r') 
characters = list(plain_text.read()) 

, но я не в состоянии сделать обратное и написать список в новый текстовый файл. Я попытался сделать это, используя цикл for, но получаю сообщение об ошибке.

ciphertext = open('chipher text', 'w') 
for x in characters: 
    ciphertext.write(characters[x]) 

Ошибка:

TypeError: list indices must be integers, not str 

Почему я получаю сообщение об ошибке, и что это правильный способ, чтобы написать список в текстовый файл?

ответ

0

Попробуйте

output = ''.join(characters) 
f = open('myfile','w') 
f.write(output) 
f.close() 

EDIT Запись в файл с модулем кодирования с использованием кодеков

import codecs 
output = ''.join(characters) 
f = codecs.open("myfile", "w", "utf-8", "replace") 
f.write(output) 

надеюсь, что это помогает

+0

Спасибо, это работает, когда я делаю это в отдельный файл, но когда я делаю это в своей большей части кода, он создает ошибку. UnicodeEncodeError: кодек «charmap» не может кодировать символы в позиции 0-8: символьные карты до Любые идеи, почему это может быть сделано? – hjs

Смежные вопросы