1. 程式人生 > >讀取文件的時候跳過前面的一部分指定內容

讀取文件的時候跳過前面的一部分指定內容

swd lin 但是 with open 方式 對象 實現 nes tools

from itertools import dropwhile
"""
讀取一個文件但是前幾行是#開頭的,這裏使用dropwhile可以調過前面的部分。
dropwhile,第一個參數一個函數,第二個參數是可叠代對象。
"""
with open('/etc/passwd') as f:
    for line in dropwhile(lambda line: line.startswith('#'), f):
        print(line, end='')

如果使用下面的方式就會導致,後面凡是含有#開頭的文件就跳過,兩者實現的目的不同

with open('/etc/passwd') as f:
    lines = (line for line in f if not line.startswith('#'))
    for line in lines:
        print(line, end='')

讀取文件的時候跳過前面的一部分指定內容