2 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
字符串IO是標(biāo)準(zhǔn)庫中來自蟒蛇的io模塊的類。從本質(zhì)上講,StringIO 對(duì)象的行為類似于 Python 文件對(duì)象,它不存儲(chǔ)在磁盤上,而是保存在內(nèi)存中。
讓我們看一個(gè)簡單的例子:
f = io.StringIO("Some initial\ntext data.")
如果將其打印出來,則會(huì)得到與您的結(jié)果類似的結(jié)果:
print(f)
>> <_io.StringIO object at 0x7f4530264a68>
如何處理這個(gè)問題?好吧,幾乎任何你可以用文件對(duì)象做的事情,你可以用一個(gè)StringIO對(duì)象來做。例如,要獲取 f 中所有行的列表:
content = f.readlines()
print(content)
>> ['Some initial\n', 'text data.']
要獲取包含所有內(nèi)容的單個(gè)字符串,請(qǐng)執(zhí)行以下操作:
print(''.join(content))
>> 'Some initial
text data.'
請(qǐng)注意,您只能調(diào)用一次讀行 - 就像文件一樣。對(duì)讀行的第二次調(diào)用將返回一個(gè)空列表。

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以解析通過模塊返回的結(jié)果句柄,例如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)
我最近的《生物間諜節(jié)》筆記本教程中對(duì)此進(jìn)行了介紹。
對(duì)于多個(gè)結(jié)果,請(qǐng)使用(環(huán)繞它以在內(nèi)存中創(chuàng)建列表)SearchIO.parse(Blast_aa_mc, "blast-xml")list()
添加回答
舉報(bào)