我正在使用下面的代码创建一个文件夹,然后下载与该蛋白质相关的 PDB。我遇到的问题是 PDB 下载到了错误的位置。它们通过 python 脚本下载到 loaction,而不是 Cytochrome_C 文件夹。
pdb = [
['Cytochrome_C']
['1giw','TITLE']
['1lc1','TITLE']
['1lc2','TITLE']
]
for pdb in pdbs:
if str(pdb[0]) == 'Cytochrome_C':
os.popen('mkdir Cytochrome_C')
os.popen('cd ./Cytochrome_C')
if len(pdb) == 2:
os.popen('wget http://www.pdb.org/pdb/files/%s.pdb' % (str(pdb[0])))
最佳答案
os.popen 对于这些任务中的每一个都是不必要的。使用 shutil 和 urllib2:
pdb = [
['Cytochrome_C']
['1giw','TITLE']
['1lc1','TITLE']
['1lc2','TITLE']
]
cwd = os.path.abspath(os.getcwd())
for pdb in pdbs:
if pdb[0] == 'Cytochrome_C':
shutil.mkdir(os.path.join(cwd, pdb[0]))
if len(pdb) == 2:
s = urllib2.urlopen('http://www.pdb.org/pdb/files/%s.pdb' % pdb[0]).read()
open(os.path.join(cwd, 'Cytochrome_C', '%s.pdb' % pdb[0]), "w").write(s)
关于Python:文件下载到错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7838885/