在 Python 中关闭 wget 子进程时出错
Error closing wget subprocess in Python
我正在 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()
但这也不起作用。
请指教
谢谢!
在 Popen
之后缺少对 wait()
的调用,使主进程等待子进程终止。以下代码似乎工作正常:
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))
(您也可以将命令行参数与它们的值分组,如果它们有的话)。
使用subprocess.call
import subprocess
subprocess.call (['wget', '-P', '/', 'http://www.ncbi.nlm.nih.gov/Traces/wgs/?download=ACHI01.1.fsa_nt.gz'])
我正在 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()
但这也不起作用。
请指教
谢谢!
在 Popen
之后缺少对 wait()
的调用,使主进程等待子进程终止。以下代码似乎工作正常:
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))
(您也可以将命令行参数与它们的值分组,如果它们有的话)。
使用subprocess.call
import subprocess
subprocess.call (['wget', '-P', '/', 'http://www.ncbi.nlm.nih.gov/Traces/wgs/?download=ACHI01.1.fsa_nt.gz'])