我正在尝试使用'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
Run Code Online (Sandbox Code Playgroud)
我不知道为什么......什么是"需要2个以上的价值"?谢谢
izip()简单地将两个iterables拉成对.正如您所期望的那样,它不会引入额外的计数器.尝试使用enumerate()
for i, (line1, line2) in enumerate(izip(f1, f2)):
...
Run Code Online (Sandbox Code Playgroud)
也得到那个柜台.
尝试将迭代的第一项分配给错误消息i, line1, line2.由于第一项是一对字符串,说s1和s2,这个任务将是实质上等同于
i, line1, line2 = s1, s2
Run Code Online (Sandbox Code Playgroud)
这显然需要两个以上的值来解包.(确切地说,它需要三个.)
| 归档时间: |
|
| 查看次数: |
778 次 |
| 最近记录: |