【发布时间】:2017-05-11 05:47:45
【问题描述】:
我写了一段代码来获取科学文献,给出的代码如下获取“xml”文件并从大文件中提取所需的数据或行。
从这个文件中,我想打印两行包含标签“AbstractText”或“Title”,当我使用“AbstractText”或“Title”和“if”时,它会打印出理想的输出,但是当我同时使用带有“或”语句代码的标签开始打印所有行。
没有正确运行的代码:
def fetch_abstract(pmid):
handle = efetch(db='pubmed', id=pmid, retmode='xml')
lines = handle.readlines()
for line in lines:
if "<AbstractText>" or "<Title>" in line:
print line,
fetch_abstract("19555725")
代码使用“AbstractText”标签正确运行:
def fetch_abstract(pmid):
handle = efetch(db='pubmed', id=pmid, retmode='xml')
lines = handle.readlines()
for line in lines:
if "<AbstractText>" in line:
print line,
fetch_abstract("19555725")
带有“标题”标签的代码运行正常:
def fetch_abstract(pmid):
handle = efetch(db='pubmed', id=pmid, retmode='xml')
lines = handle.readlines()
for line in lines:
if "<Title>" in line:
print line,
fetch_abstract("19555725")
我该如何解决这个问题?
【问题讨论】:
标签: python