python加入“大”文件

问题描述

| 在python中,我已经使用
file.readlines()
文件读入列表中,稍后经过一些逻辑处理后,我想使用ѭ1to将其放回字符串中,由于某种原因,即使没有
print
函数,它也会将fileString打印到控制台到某个点,然后它就停止了。它不会运行对我没有用的程序的其余部分。 为什么join这样做,我可能如何预先分配我希望列表/字符串使用的内存量,以便它不会停止。或其他一些解决方案。 谢谢     

解决方法

文件是您在内存中的文件指针。当您尝试加入时,实际上并没有要使用的字符串。 这个怎么样?
with open(file,\'rb\') as myfile:
    strings = myfile.readlines()

# do your stuff to strings
filestring = \'\'.join(strings)
请注意,字符串是这样的行的列表:   [\'我的行\\ n \',\'我的其他行!\\ n \'] 因此,大文件将需要大量内存。构建一个微型过滤器可能会更好地为您服务。     ,您还应该考虑如何处理结果字符串。如果您只想将内容写回到文件中,则无需先连接各个部分,可以直接使用
file.writelines(strings)
。