Biopython 尝试分析pubmed EFetch时出现TypeError

Biopython 尝试分析pubmed EFetch时出现TypeError,biopython,Biopython,我对python/biopyhton这个东西还不熟悉,所以我很难弄明白为什么下面的代码,基本上是直接从Biopython食谱中提取出来的,没有达到我预期的效果 我本以为解释器最终会显示两个包含相同数字的列表,但我得到的只是一个列表,然后是一条消息,说TypeError:“generator”对象不可订阅 我猜Medline.parse步骤出了问题,efetch的结果没有以允许后续交互提取PMID值的方式进行处理。或者,efetch没有返回任何内容 有人指出我做错了什么吗 谢谢 from Bio

我对python/biopyhton这个东西还不熟悉,所以我很难弄明白为什么下面的代码,基本上是直接从Biopython食谱中提取出来的,没有达到我预期的效果

我本以为解释器最终会显示两个包含相同数字的列表,但我得到的只是一个列表,然后是一条消息,说TypeError:“generator”对象不可订阅

我猜Medline.parse步骤出了问题,efetch的结果没有以允许后续交互提取PMID值的方式进行处理。或者,efetch没有返回任何内容

有人指出我做错了什么吗

谢谢

from Bio import Medline
from Bio import Entrez
Entrez.email = 'A.N.Other@example.com'

handle = Entrez.esearch(db="pubmed", term="biopython")
record = Entrez.read(handle)
print(record['IdList'])

items = record['IdList']
handle2 = Entrez.efetch(db="pubmed", id=items, rettype="medline", retmode="text")
records = Medline.parse(handle2)
for r in records:
    print(records['PMID'])

您正在尝试打印
记录['PMID']
,这是一个错误。我认为您打算执行
print(r['PMID'])
,它将为每次迭代打印当前记录字典对象中的'PMID'条目。文档中给出的示例证实了这一点