【问题标题】:10+ gig file reading problems Python10+ gig 文件读取问题 Python
【发布时间】:2015-04-22 21:39:42
【问题描述】:

3个文件是逐行读取的,因此:

with open(file) as f:
    for line in f:
        print line

for line in open(file):
    print line

逐行尝试了两种阅读器,但是一旦文件大小开始超过 10 GB,python 就会选择尝试将整个文件读入内存...(适用于文件大小

知道为什么吗?

【问题讨论】:

  • 10gb 的线路分割正确吗?也许 10gb 的文件只是一长行
  • 除非你有一个非常大的行,否则它不应该将它全部读入内存
  • wc -l filename 显示了什么
  • 我如何检查,它不应该这样做,但听起来可能
  • 你如何衡量“python 选择尝试将整个文件读入内存?”

标签: python file memory


【解决方案1】:

您可以使用可选参数来限制一次可以读取多少个字符:

with open(file, "r") as f:
    line = f.readline(max_chars)
    while line:
        print(line, end='')
        line = f.readline(max_chars)

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多