簡體   English   中英

Python從文件讀取行,然后從特定的行號寫入另一個文件

[英]Python read lines from a file and write from a specific line number to another file

我想從文件中讀取行,並從特定的行號寫入另一個文件。 我有這個腳本,它寫入所有讀取的行。 我需要跳過前四行,並將其余的寫到另一個文件。 有任何想法嗎?

for k in range (0,16):
    print 'k =',k
    from  abaqus import session
    k=k+1
    print k 
    f1 = open('VY_NM_VR_lin_o1_bonded_results_{k}.txt'.format(k=k))
    #with open('VY_{k}'.format(k=k), 'a') as f1:
    lines = f1.readlines()
    for i, line in enumerate(lines):
        #print i    
        print(repr(line))               
        #if line.startswith(searchquery):
        f2.write(line)
        #f2.write('%s'%listc + "\n")
        i = i+1
        #else :
        #    i = i+1
        #os.close(f1)
    f1.close()

f2.close()

itertools.islice為此目的而設計

import itertools

with open('VY_NM_VR_lin_o1_bonded_results_{k}.txt'.format(k=k)) as f1:
    # islice w/4 & None skips first four lines of f1, then generates the rest,
    # and writelines can take that iterator directly to write them all out
    f2.writelines(itertools.islice(f1, 4, None))

如果您需要在處理過程中處理行,則跳過writelines並返回到:

    for line in itertools.islice(f1, 4, None):
        ... do stuff with line ...
        f2.write(line)

無論哪種方式,您都不會看到前四行(Python正在讀取它們並為您無縫地丟棄它們)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM