2

我要从命令行读取三个文件:分别要写入的文件、要读取的第一个文件和要读取的第二个文件。

我想在我的文件中写入第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行等等等等。

这是我到目前为止所拥有的:

import sys

writeTo, firstFile, secondFile = sys.argv[1: ]

text_file = open(writeTo, "w")

x = open(firstFile, "r")
y = open(secondFile, "r")

for linex in x:
    for liney in y:
        text_file.write(linex+liney)
4

1 回答 1

3

使用zip

with open(firstFile) as f1, open(secondFile) as f2,\
                                             open(writeTo, 'w') as text_file:
    for line1, line2 in zip(f1, f2):
         text_file.write(line1 + line2)

如果文件包含不等数量的行,则考虑使用itertools.zip_longest.

于 2013-09-06T13:47:46.823 回答