我试图通过添加后缀从登录中下载:for循环运行良好,即我设法下载序列,直到这个url不存在并且执行停止。所以我希望,如果这个url不存在,脚本将完成运行。 此外,我还想请把所有的输出文件放在一个文件夹中,该文件夹中的物种名称写在“输入”中。谢谢你。以下是脚本的一部分:
species = input("Bacteria species ? : ")
TypeSeq= input ("fna ? or faa ? :")
species = input("Bacteria species ? : ")
TypeSeq= input ("fna ? ou faa ?")
if data["#Organism/Name"].str.contains(species, case = False).any():
print(data.loc[data["#Organism/Name"].str.contains(species, case = False)]['Status'].value_counts())
FTP_list = data.loc[data["#Organism/Name"].str.contains(species, case = False)]["FTP Path"].values
if TypeSeq == "faa" :
try :
for url in FTP_list:
parts = urllib.parse.urlparse(url)
parts.path
posixpath.basename(parts.path)
suffix = "_protein.faa.gz"
prefix = posixpath.basename(parts.path)
print(prefix+suffix)
path = posixpath.join(parts.path, prefix+suffix)
ret = parts._replace(path=path)
sequence=wget.download(urllib.parse.urlunparse(ret))
except :
print ("")
您已将循环放在
try
块内,因此每当找不到url时,它就会抛出错误并移出循环,然后被except
块捕获。这将停止脚本的执行。要修复它,请将try-except
块放在循环中,以便在捕获错误后,它移动到下一个url^{} 函数接受一个out参数,以指定下载文件的名称或要下载文件的目录。您可以使用它将一个物种的所有输出文件放在一个文件夹中
请尝试以下代码:
相关问题 更多 >
编程相关推荐