gpt4 book ai didi

python - 使用izip在python中同时从两个文件中读取行

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:43 25 4
gpt4 key购买 nike

我正在尝试使用“izip”同时从两个文件中读取行,但是出现如下错误:

>>> f1=open('/home/xug/scratch/test/test_1.fastq','r')
>>> f2=open('/home/xug/scratch/test/test_2.fastq','r')
>>> from itertools import izip
>>> for i,line1,line2 in izip(f1,f2):
... if i%4==3:
... print line1,line2
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 2 values to unpack

我不知道为什么....什么是“需要超过 2 个值”?谢谢

最佳答案

izip() 只是将两个可迭代对象压缩成对。它并没有像您预期的那样引入额外的计数器。尝试使用 enumerate()

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

也得到那个计数器。

错误消息源于尝试将可迭代对象的第一项分配给 i, line1, line2。由于第一项是一对字符串,比如 s1s2,这个赋值本质上等同于

i, line1, line2 = s1, s2

这显然需要两个以上的值来解包。 (准确地说,需要三个。)

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

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