2016-04-28 82 views
0

我想追加一个列表到文件中。这是我的代码:在Python中追加一个列表到一个文件

test= open("test.txt", 'a') 
for word in list: 
    test.write(word) 
test.close() 

当我运行它,我得到一个“类型错误:预期的字符缓冲区对象”错误。

我该如何解决?

回答

-1

如果您想创建一个新文件并写入它或'r +'来打开现有文件并写入该文件,可以用'w'代替'a'。

+1

然后,'a'是什么? –

+0

对不起我的错误,想到与similair错误有关的另一个问题。 'a'用于追加到文件末尾,而不管搜索位置如何。实际的问题是,所有事情都需要像其他人所建议的那样处于正确的类型。 –

2

看来你的列表包含非字符串元素。 file.write()只接受字符串参数。使用str()函数将列表元素转换为字符串。

0

您的列表必须包含str类型的元素,或者您可以在写入之前将其转换为str。

1

确保您正在将编码字符串写入文件。您可能还想要打印新行:

test= open("test.txt", 'a') 
for word in list: 
    test.write(bytes(str(word) + '\n', 'utf-8')) 
test.close() 
+0

现在应该这样做:) –

相关问题