将列表写入文本文件?

Writing a list to a text file?

我从这样的文本文件中创建了一个列表:

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

为什么我会收到错误消息?将列表写入文本文件的正确方法是什么?

试试这个

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

编辑 使用编解码器模块

写入带有编码的文件
import codecs
output = ''.join(characters)
f = codecs.open("myfile", "w", "utf-8", "replace")
f.write(output)

希望这对您有所帮助