2016-07-04 45 views
0

的内容我有两个文件:替换文件的头部与另一个文件

文件:

line A_1 
line A_2 
line A_3 
... 
line A_n 

文件B:

line B_1 
line B_2 
... 
line B_n 
line B_n+1 
... 
line B_m 

我想第一n线文件A替换文件B的第一行n行(m > n)。此文件后乙方应是这样的:

文件B:

line A_1 
... 
line A_n 
line B_n+1 
... 
line B_m 

什么是最Python的解决方案呢?

回答

2
with open("newB.txt","wb") as fout: 
    with open("B.txt") as b: 
     for lineA,lineB in zip(open("A.txt"),b): 
      fout.write(lineA) 
     fout.writelines(b) 

也许......我想......

+0

你可以使用压缩成这样?我不确定它是如何工作的... –

+0

粗糙,你可以...(你可能需要在'fout.write(lineA)'位上加一个''\ n“'......) –

+0

我的小测试用例zip(...)返回一个空列表... [] –

0
with open(A) as fp_A: 
    for i, line in enumerate(fp_A): 
     if i <= n: 
      print(line) 
     else: 
      break 
with open(B) as fp_B: 
    for i, line in enumerate(fp_B): 
     if i > n: 
      print(line) 
相关问题