2 回答
TA贡献1798条经验 获得超3个赞
字符串IO是标准库中来自蟒蛇的io模块的类。从本质上讲,StringIO 对象的行为类似于 Python 文件对象,它不存储在磁盘上,而是保存在内存中。
让我们看一个简单的例子:
f = io.StringIO("Some initial\ntext data.")
如果将其打印出来,则会得到与您的结果类似的结果:
print(f)
>> <_io.StringIO object at 0x7f4530264a68>
如何处理这个问题?好吧,几乎任何你可以用文件对象做的事情,你可以用一个StringIO对象来做。例如,要获取 f 中所有行的列表:
content = f.readlines()
print(content)
>> ['Some initial\n', 'text data.']
要获取包含所有内容的单个字符串,请执行以下操作:
print(''.join(content))
>> 'Some initial
text data.'
请注意,您只能调用一次读行 - 就像文件一样。对读行的第二次调用将返回一个空列表。
TA贡献1788条经验 获得超4个赞
您可以解析通过模块返回的结果句柄,例如qblast()Bio.SearchIO
from Bio import SearchIO
from Bio.Blast import NCBIWWW
Blast_aa_mc = NCBIWWW.qblast("blastp","nr", aa_mc[2])
blast_qresult = SearchIO.read(Blast_aa_mc, "blast-xml")
print(blast_qresult)
我最近的《生物间谍节》笔记本教程中对此进行了介绍。
对于多个结果,请使用(环绕它以在内存中创建列表)SearchIO.parse(Blast_aa_mc, "blast-xml")list()
添加回答
举报
