Assumming文件1短:
lines1 = file1.splitlines()
lines2 = file2.splitlines()
for num, line in enumerate(lines1):
line2 = lines2[num]
print line if len(line2) == len(line) else line2
for line in lines2[num+1:]:
print line
有了實際的文件更容易,因爲你可以下一個濫用()迭代線:
file1 = open("file1.txt")
file2 = open("file2.txt")
for line in file1:
line2 = next(file2)
print line if len(line2) == len(line) else line2
for line in file2:
print line
那麼,你可以使用itertools.zip_longest但它的欺騙:
from itertools import izip_longest
file1 = "line1\n line2\n line3\n"
file2 = "line1\n line2\n line3\n line4\n line5\n"
for line1, line2 in izip_longest(file1.splitlines(), file2.splitlines(), fillvalue=''):
print line1 if len(line2) == len(line1) else line2
編輯:在py2 zip_longest被稱爲izip_longest。
您能否重新說明您的問題? – sshashank124
我更新了問題 – 5555555555
使用嵌套循環,可以打印到(file1 * file2)行,因爲您爲第一個文件中的每一行迭代第二個文件。你只需要一個循環,絕對不是嵌套循環。 – x3al