在Python中,将列表中的每个元素写入文本文件的新行上。

6

阅读了这个问题这个问题之后,我尝试将列表(mylist)的每个元素写在一个文本文件(text.txt)的新行上

例如:

mylist = ['a', 'b', 'ccc', 'dd', 'eeee', 'f', 'ggg']

应该这样写在 text.txt 文件中。
a
b
ccc
dd
eeee
f
ggg

我已经尝试过这个:

filename = 'text.txt'

with open(filename, mode="wb") as outfile:  # also, tried mode="rb"
    for s in mylist:
        outfile.write("%s\n" % s)

这段代码创建了文本文件,但随后会出现错误:根据使用的模式,可能出现TypeError: a bytes-like object is required, not 'str'io.UnsupportedOperation: write错误。

请问有什么建议可以解决此问题?如果能简要说明我做错了什么,将不胜感激。

1个回答

3

如果你正在编写文本,不应该使用“b”模式:

with open(filename, mode="w") as outfile: 
    # Here ---------------^

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接