1

有没有办法下载 Entrez 模块返回的 XML 文件并将其保存到本地磁盘?我目前正在做的是:

fetch = Entrez.efetch(db='pmc',
                     resetmode='xml',
                     id=ids,
                     rettype='full')
article =  fetch.read()

然后通过 Python 的 write 函数将article哪个对象保存为 xml 文件。str

BioPython 是否提供了一种自动将文件下载到磁盘上的方法?

4

1 回答 1

1

我不认为 Biopython 提供了一种方法来做到这一点,但它不需要,因为你可以在不先保存到字符串的情况下做到这一点:

fetch = Entrez.efetch(db='pmc',
                 resetmode='xml',
                 id=ids,
                 rettype='full')

with open('fileNameToSave.xml', 'w') as f:
    f.write(fetch.read())

正如 Chris_Rands 在他的评论中指出的那样,另一种方法是直接通过 URL 获取文件:

https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=protein&id=15718680
于 2017-04-11T15:56:31.767 回答