gpt4 book ai didi

python - 一次从 Python 中的两个不同文件中读取两行

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:48 24 4
gpt4 key购买 nike

我有两个文件,如下所示:

文件 1(制表符分隔):

A1   someinfo1     someinfo2    someinfo3A1   someinfo1     someinfo2    someinfo3B1   someinfo1     someinfo2    someinfo3B1   someinfo1     someinfo2    someinfo3

文件 2(制表符分隔):

A1   newinfo1     newinfo2    newinfo3A1   newinfo1     newinfo2    newinfo3B1   newinfo1     newinfo2    newinfo3B1   newinfo1     newinfo2    newinfo3

我想一起阅读文件 1 中的两行(以 A1 和 A1 开头的行)和文件 2 中的两行(以 A1 和 A1 开头的行)。更清楚地说,我有两个要求:

1) Reading two lines from the same file2) Read same two lines from the other file.  

准确地说,我想一起阅读四行(两个文件中的连续 2 行(每个文件中有 2 行))。

我在网上搜索并获得了一个代码来同时读取两行,但只能从一个文件中读取。

with open(File1) as file1:        for line1,line2 in itertools.izip_longest(*[file1]*2):

此外,我还能够从两个文件中的每一个中读取一行:

for i,(line1,line2) in enumerate(itertools.izip(f1,f2)):        print line1, line2

但我想做的事情是:

伪代码:

for line1, line2 from file1 and line_1 and line_2 from file2:              compare line1 with line2              compare line1 with line_1              compare line2 with line_1              compare line2 with line_2

我希望有一个线性时间的解决方案。所有文件都具有相同的行数,并且文件中连续行的第一列(主 ID)相同,另一个文件遵循相同的顺序(参见上面的示例)。

谢谢。

最佳答案

这个怎么样:

with open('a') as A, open('b') as B:
while True:
try:
lineA1, lineA2, lineB1, lineB2 = next(A), next(A), next(B), next(B)
# compare lines
# ...
except StopIteration:
break

关于python - 一次从 Python 中的两个不同文件中读取两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com