Python: urllib.request.urlretrieve 保存一个空文件。写在里面 "Supplied id parameter is empty."
Python: urllib.request.urlretrieve saves an empty file. Writes in it "Supplied id parameter is empty."
这是我要下载并保存的文件类型:
...这是测试代码:
import urllib.request
import xml.etree.ElementTree as ET
mystring = ' '
link = urllib.request.urlopen('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=protein&db=nuccore&linkname=protein_nuccore_mrna&id=13591999,149050462')
tree = ET.parse(link)
root = tree.getroot()
for branch in root.iter('Link'):
for something in branch.iter('Id'):
mystring += something.text + ','
mRNA = urllib.request.urlretrieve('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=' + mystring + '&rettype=fasta&retmode=text', 'C:/Users/User/Documents/mRNA.fasta')
它创建了文件但后来是空的,我不知道问题出在哪里。谢谢你的帮助。
您的结果 URL 包含一个 space;你自己把它放在那里:
mystring = ' '
如果我将其替换为空字符串,您的代码似乎可以正常工作:
mystring = ''
您可以使用列表并使用 str.join()
method 构建您的值,而不是使用字符串连接:
elements = []
for element in root.findall('.//Link/Id'):
elements.append(element.text)
mystring = ','.join(elements)
我使用 Element.findall()
method with an XPath expression 列出所有匹配的 Id 节点。
这是我要下载并保存的文件类型:
...这是测试代码:
import urllib.request
import xml.etree.ElementTree as ET
mystring = ' '
link = urllib.request.urlopen('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=protein&db=nuccore&linkname=protein_nuccore_mrna&id=13591999,149050462')
tree = ET.parse(link)
root = tree.getroot()
for branch in root.iter('Link'):
for something in branch.iter('Id'):
mystring += something.text + ','
mRNA = urllib.request.urlretrieve('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=' + mystring + '&rettype=fasta&retmode=text', 'C:/Users/User/Documents/mRNA.fasta')
它创建了文件但后来是空的,我不知道问题出在哪里。谢谢你的帮助。
您的结果 URL 包含一个 space;你自己把它放在那里:
mystring = ' '
如果我将其替换为空字符串,您的代码似乎可以正常工作:
mystring = ''
您可以使用列表并使用 str.join()
method 构建您的值,而不是使用字符串连接:
elements = []
for element in root.findall('.//Link/Id'):
elements.append(element.text)
mystring = ','.join(elements)
我使用 Element.findall()
method with an XPath expression 列出所有匹配的 Id 节点。