如何通过BioPython自动将PMC全文存盘?

How to automatically save PMC full text to disk through BioPython?

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

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

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

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

我认为 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