Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表变量写入文件_Python_List_Slice_File Writing - Fatal编程技术网

Python 将列表变量写入文件

Python 将列表变量写入文件,python,list,slice,file-writing,Python,List,Slice,File Writing,我有一个.txt文件,里面有我想“清除”的脏话,所以我写了一个程序,一个接一个地检查单词列表的每个位置,如果单词出现在可审查单词列表中的任何地方,它会用var.remove(arg)将其删除。它工作正常,列表很干净,但无法写入任何文件 wordlist是一个干净的列表 newlist = open("lists.txt", "w") newlist.write(wordlist) newlist.close() 这将返回以下错误: newlist.write(w

我有一个.txt文件,里面有我想“清除”的脏话,所以我写了一个程序,一个接一个地检查单词列表的每个位置,如果单词出现在可审查单词列表中的任何地方,它会用
var.remove(arg)
将其删除。它工作正常,列表很干净,但无法写入任何文件

wordlist
是一个干净的列表

    newlist = open("lists.txt", "w")
    newlist.write(wordlist)
    newlist.close()
这将返回以下错误:

    newlist.write(wordlist)
    TypeError: expected a string or other character buffer object
我猜这是因为我试图用一个变量或一个列表写入一个文件,但实际上没有替代方案;清单中有3526项

知道为什么它不能用列表变量写入文件吗


注意:lists.txt不存在,它是通过写入模式创建的。

write
写入字符串。您不能编写
列表
变量,因为即使对人类来说,很明显它应该在单词之间用空格或分号来写,计算机也不能随意进行这些假设,应该提供您想要写入的确切数据(按字节)

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

newlist.write('\n'.join(wordlist))
就足够了(并提供一个文件,其中每行包含一个单词)


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