繁体   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