将列表变量写入fi

2024-05-13 02:15:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.txt文件,我想“清除”脏话,所以我编写了一个程序,逐个检查单词列表的每个位置,如果单词出现在可审查单词列表中的任何位置,它会用var.remove(arg)将其删除。它工作得很好,列表也很干净,但不能写入任何文件。在

wordlist是干净的列表。在

    newlist = open("lists.txt", "w")
    newlist.write(wordlist)
    newlist.close()

这将返回以下错误:

^{pr2}$

我猜这是因为我试图用一个变量或一个列表来写入一个文件,但实际上没有其他选择;列表中有3526个项。在

你知道为什么不能用列表变量写文件吗?在

注:列表.txt不存在,它是由写入模式创建的。在


Tags: 文件程序txt列表closevarargopen
1条回答
网友
1楼 · 发布于 2024-05-13 02:15:28

write写入字符串。你不能写一个list变量,因为即使对人类来说,很明显它应该在单词之间用空格或分号来写,但是计算机不能自由地进行这样的假设,并且应该提供你想要写的精确数据(按字节)。在

因此,您需要显式地将此列表转换为字符串,然后将其写入文件中。为了这个目标

newlist.write('\n'.join(wordlist))

就足够了(并提供一个文件,其中每行包含一个单词)。在


  • 对于某些任务,使用str(wordlist)(它将返回类似于['hi', 'there'])转换列表并写入它将是可行的(并且允许通过eval方法进行检索),但是考虑到长列表(每个字增加大约4个字节),这将是非常昂贵的空间使用,而且可能需要更多的时间。在

相关问题 更多 >