我有一个.txt文件,我想“清除”脏话,所以我编写了一个程序,逐个检查单词列表的每个位置,如果单词出现在可审查单词列表中的任何位置,它会用var.remove(arg)
将其删除。它工作得很好,列表也很干净,但不能写入任何文件。在
wordlist
是干净的列表。在
newlist = open("lists.txt", "w")
newlist.write(wordlist)
newlist.close()
这将返回以下错误:
^{pr2}$我猜这是因为我试图用一个变量或一个列表来写入一个文件,但实际上没有其他选择;列表中有3526个项。在
你知道为什么不能用列表变量写文件吗?在
注:列表.txt不存在,它是由写入模式创建的。在
write
写入字符串。你不能写一个list
变量,因为即使对人类来说,很明显它应该在单词之间用空格或分号来写,但是计算机不能自由地进行这样的假设,并且应该提供你想要写的精确数据(按字节)。在因此,您需要显式地将此列表转换为字符串,然后将其写入文件中。为了这个目标
就足够了(并提供一个文件,其中每行包含一个单词)。在
str(wordlist)
(它将返回类似于['hi', 'there']
)转换列表并写入它将是可行的(并且允许通过eval
方法进行检索),但是考虑到长列表(每个字增加大约4个字节),这将是非常昂贵的空间使用,而且可能需要更多的时间。在相关问题 更多 >
编程相关推荐