如何在循环中将列表项添加到URL结构中?

时间:2018-09-21 20:32:23

标签: python python-3.x urllib bioinformatics

因此,我是Python的新手,并且正在开发一个简单的程序,该程序将读取蛋白质名称(PDB ID)的文本文件,并创建一个URL来搜索该蛋白质和一些相关数据的数据库(PDB)。

不幸的是,作为一个新手,我忘记保存脚本了,所以我不记得为使代码正常工作所做的一切!

到目前为止,我的代码如下:

import urllib
import urllib.parse
import urllib.request
import os

os.chdir("C:\\PythonProjects\\Samudrala Lab Projects")

protein_file = open("protein_list.txt","r")
protein_list = protein_file.read()

for item in protein_list:
    item = item[0:4]
    query_string =urlencode('customReportColumns','averageBFactor','resolution','experimentalTechnique','service=wsfile','format=csv')
    **final_URL = url + '?pdbid={}{}'.format(url, item, query_string)**
    print(final_URL)

我停留的代码行已加星标。

循环中的对象“ final_url”缺少一些修改,以表示我希望URL搜索该项目作为pdbid。谁能给我一个提示,让我知道如何将该URL作为PDBID插入列表中的每个项目?

我收到一个类型错误,指示它不是有效的非字符串序列或映射对象。编辑原始帖子以添加此信息。

如果这是一个不清楚的问题,或者您需要其他信息,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

final_URL = "{}?pdbids={}{}".format(url, item, query_string)