我使用以下代码在Python中使用wget下载文件:
p1 = subprocess.Popen(['wget',
'-P',
'path/to/folder','http://www.ncbi.nlm.nih.gov/Traces/wgs/?download=ACHI01.1.fsa_nt.gz'],
stdout=subprocess.PIPE)
p1.studout.close()
文件被下载并正确保存在给定文件夹中,但进程仍在运行。我试过p1.kills()
,但这也不起作用。
请指教。
谢谢!
答案 0 :(得分:0)
在wait()
之后缺少对Popen
的调用,以使主进程等待子进程终止..以下代码似乎工作正常:
import subprocess as sp
def main(args):
p1 = sp.Popen(['wget', '-P path',
'http://www.ncbi.nlm.nih.gov/Traces/wgs/?download=ACHI01.1.fsa_nt.gz'],
stdout = sp.PIPE)
p1.wait()
return 0
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv))
(您也可以将命令行参数与其值组合在一起,如果有的话)。
答案 1 :(得分:0)
使用subprocess.call
import subprocess
subprocess.call (['wget', '-P', '/', 'http://www.ncbi.nlm.nih.gov/Traces/wgs/?download=ACHI01.1.fsa_nt.gz'])