在 python 中,我已使用 file.readlines()
将文件读入列表中,稍后经过一些逻辑后,我想使用 fileString = ''.join(file)
将其重新组合到一个字符串中。 ,出于某种原因,即使没有 print
函数时,它将 fileString 打印到控制台直到某个点,然后就停止了。它不会运行程序的其余部分,这对我来说没有用。
为什么 join 会这样做,我如何预先分配我想要列表/字符串使用的内存,以便它不会停止。或者其他一些解决方案。
谢谢
最佳答案
File 是内存中的文件指针。当您尝试加入它时,您实际上没有可以使用的字符串。
这个怎么样?
with open(file, 'rb') as myfile:
strings = myfile.readlines()
# do your stuff to strings
filestring = ''.join(strings)
请注意,字符串是这样的行列表:
['my line\n', 'my other line!\n']
因此,大文件将需要相当多的内存。构建一个迷你过滤器可能会为您提供更好的服务。
关于python加入 "large"文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6130438/