我想追加一个列表到文件中。这是我的代码:在Python中追加一个列表到一个文件
test= open("test.txt", 'a')
for word in list:
test.write(word)
test.close()
当我运行它,我得到一个“类型错误:预期的字符缓冲区对象”错误。
我该如何解决?
我想追加一个列表到文件中。这是我的代码:在Python中追加一个列表到一个文件
test= open("test.txt", 'a')
for word in list:
test.write(word)
test.close()
当我运行它,我得到一个“类型错误:预期的字符缓冲区对象”错误。
我该如何解决?
如果您想创建一个新文件并写入它或'r +'来打开现有文件并写入该文件,可以用'w'代替'a'。
看来你的列表包含非字符串元素。 file.write()
只接受字符串参数。使用str()
函数将列表元素转换为字符串。
您的列表必须包含str类型的元素,或者您可以在写入之前将其转换为str。
确保您正在将编码字符串写入文件。您可能还想要打印新行:
test= open("test.txt", 'a')
for word in list:
test.write(bytes(str(word) + '\n', 'utf-8'))
test.close()
现在应该这样做:) –
然后,'a'是什么? –
对不起我的错误,想到与similair错误有关的另一个问题。 'a'用于追加到文件末尾,而不管搜索位置如何。实际的问题是,所有事情都需要像其他人所建议的那样处于正确的类型。 –