python连接“大”fi

2024-04-20 12:55:18 发布

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

在python中,我使用file.readlines()将一个文件读入一个列表中,稍后在一些逻辑之后,我希望使用fileString = ''.join(file)将它放回一个字符串中,因为某些原因,即使没有print函数,它也会将文件串输出到控制台直到某个点,然后它就会停止。它不运行对我没有用的程序的其余部分。在

为什么join会这样做,我如何预先分配我希望我的list/string使用多少内存,这样它就不会停止。或者其他的解决办法。在

谢谢你


Tags: 文件函数内存字符串程序列表string原因
2条回答

您还应该考虑如何处理得到的字符串。如果您只想将内容写回一个文件中,则不需要首先连接各个部分,可以直接使用file.writelines(strings)。在

文件是内存中的文件指针。当你试图加入它时,你实际上没有一个字符串可以使用。在

这个怎么样?在

with open(file, 'rb') as myfile:
    strings = myfile.readlines()

# do your stuff to strings
filestring = ''.join(strings)

请注意,strings是这样一个行的列表:

['my line\n', 'my other line!\n']

因此,一个大文件需要相当多的内存。建造一个小型过滤器可能会更好地为您服务。在

相关问题 更多 >