python加入 "large"文件

标签 python string list memory join

在 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/

相关文章:

python - 有没有一种方法可以帮助使这个 Python 逻辑运行得更快

javascript - 如何用数组中的字符串替换所有出现的字符串

c++ - 在字符串中搜索字符

java - 人名转换[带缩略词]

python - python 中的精度

php - 在 PHP 中是否有等效于 C# 的逐字字符串文字?

python - 如何增加和填充 python 列表的大小?

python - 当在Python中让一个类继承 `list`时,如何获取该列表的实例?

javascript - Immutable.js 中的列表列表

Python修改全局变量