For循环遍历Python中的一串字符串
Foor loop over a string of strings in Biopython
我写了下面的代码从 NCBI 下载多个序列。
import numpy as np
from Bio import Entrez
Entrez.email ="user@example.com"
data = np.loadtxt('/home/Documents/XXX.txt', dtype="string")
data
array(['YP_615060', 'YP_615061', 'YP_615062', ..., 'YP_611146',
'YP_611148', 'YP_611150'],
dtype='|S12')
ids=data[:10]
ids_1=data[10:20]
ids_1=",".join(ids_1)
ids_2=data[20:30]
ids_2=",".join(ids_2)
total=(ids, ids_1, ids_2)
for c in total:
handle = Entrez.efetch(db="protein", id=c, rettype="fasta", retmode="txt")
handle.read()
我收到一个错误
File "<stdin>", line 3
handle.read()
^
SyntaxError: invalid syntax
我想我把 'foor' 循环写错了,但我不明白问题出在哪里。这应该是一个微不足道的问题,但我找不到解决方法。
如果我测试 for 循环并且我不调用
handle.read()
正在运行
>>>for c in total:
... handle=Entrez.efetch(db="protein", id=c, rettype="fasta", retmode="txt")
...
for 循环仍在等待某些东西。我在这里错过了什么?
这是一个大胆的猜测,但您的代码看起来像是来自交互式会话的混合输入和输出,在交互式模式下粘贴代码块时我可以重现您的错误:
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(10):
... print i
... print "done"
File "<stdin>", line 3
print "done"
^
SyntaxError: invalid syntax
相反,尝试粘贴 仅 for
循环及其主体,然后按回车键(两次),然后 粘贴handle.read()
行。 (也就是说,假设这一行不是循环的一部分;如果是这样,请修复缩进。)或者,将所有代码放入一个文件中,然后 运行 该文件 python filename.py
.
我写了下面的代码从 NCBI 下载多个序列。
import numpy as np
from Bio import Entrez
Entrez.email ="user@example.com"
data = np.loadtxt('/home/Documents/XXX.txt', dtype="string")
data
array(['YP_615060', 'YP_615061', 'YP_615062', ..., 'YP_611146',
'YP_611148', 'YP_611150'],
dtype='|S12')
ids=data[:10]
ids_1=data[10:20]
ids_1=",".join(ids_1)
ids_2=data[20:30]
ids_2=",".join(ids_2)
total=(ids, ids_1, ids_2)
for c in total:
handle = Entrez.efetch(db="protein", id=c, rettype="fasta", retmode="txt")
handle.read()
我收到一个错误
File "<stdin>", line 3
handle.read()
^
SyntaxError: invalid syntax
我想我把 'foor' 循环写错了,但我不明白问题出在哪里。这应该是一个微不足道的问题,但我找不到解决方法。
如果我测试 for 循环并且我不调用
handle.read()
正在运行
>>>for c in total:
... handle=Entrez.efetch(db="protein", id=c, rettype="fasta", retmode="txt")
...
for 循环仍在等待某些东西。我在这里错过了什么?
这是一个大胆的猜测,但您的代码看起来像是来自交互式会话的混合输入和输出,在交互式模式下粘贴代码块时我可以重现您的错误:
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(10):
... print i
... print "done"
File "<stdin>", line 3
print "done"
^
SyntaxError: invalid syntax
相反,尝试粘贴 仅 for
循环及其主体,然后按回车键(两次),然后 粘贴handle.read()
行。 (也就是说,假设这一行不是循环的一部分;如果是这样,请修复缩进。)或者,将所有代码放入一个文件中,然后 运行 该文件 python filename.py
.