Jupyter Notebook io.StringIO 作为输出
Jupyter Notebook io.StringIO as output
输入
Blast_aa_mc = qblast("blastp","nr", aa_mc[2])
Blast_aa_mc
输出
<_io.StringIO at 0x12a1a48>
什么是_io.StringIO?这是什么意思?我所期待的是某种字符串或数组。有更好的方法吗?
StringIO is a class from Python's 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.'
请注意,您只能调用一次 readlines - 就像文件一样。第二次调用 readlines 将 return 一个空列表。
您可以通过 Bio.SearchIO
模块解析从 qblast()
返回的结果句柄,例如
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)
这在我最近的 Biopython Jupyter Notebook tutorial 中有所介绍。
对于多个结果,使用 SearchIO.parse(Blast_aa_mc, "blast-xml")
(环绕 list()
以在内存中创建一个列表)
输入
Blast_aa_mc = qblast("blastp","nr", aa_mc[2])
Blast_aa_mc
输出
<_io.StringIO at 0x12a1a48>
什么是_io.StringIO?这是什么意思?我所期待的是某种字符串或数组。有更好的方法吗?
StringIO is a class from Python's 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.'
请注意,您只能调用一次 readlines - 就像文件一样。第二次调用 readlines 将 return 一个空列表。
您可以通过 Bio.SearchIO
模块解析从 qblast()
返回的结果句柄,例如
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)
这在我最近的 Biopython Jupyter Notebook tutorial 中有所介绍。
对于多个结果,使用 SearchIO.parse(Blast_aa_mc, "blast-xml")
(环绕 list()
以在内存中创建一个列表)