【问题标题】:How to start reading from x line in a text file with python如何使用python从文本文件中的x行开始读取
【发布时间】:2014-09-18 13:51:31
【问题描述】:

我正在处理我的 windows 机器上的一个大文本文件,我想要一个脚本,它可以从给定行索引开始的所述文本填充中打印出行。

with open('big_file.txt', 'r') as f:
    for line in f[1000]:
        print line

与上述类似,但实际上有效。

【问题讨论】:

    标签: python windows python-2.7 text-files


    【解决方案1】:

    使用itertools.islice:

    import itertools
    
    with open('big_file.txt', 'r') as f:
        for line in itertools.islice(f, 1000, None):
            print line
    

    【讨论】:

    • 请注意,这仍然会读取前 1000 行。它只是不打印它们。
    • @hpaulj,你是对的。这只是跳过了前 1000 行。
    【解决方案2】:

    您可以使用next(f) 跳过一行并将其与for 循环一起使用。

    with open('big_file.txt', 'r') as f:
    
        for x in range(1000):
            next(f)
    
        for line in f:
            print line
    

    【讨论】:

      【解决方案3】:

      我会使用readlines,然后从给定的索引开始迭代:

      with open('big_file.txt', 'r') as f:
          for line in f.readlines()[1000:]:
              print line
      

      希望这会有所帮助。

      【讨论】:

      • 应该避免这种情况,因为这会将所有行加载到列表中。
      猜你喜欢
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 2017-09-13
      相关资源
      最近更新 更多