gpt4 book ai didi

python - 使用python的子进程通过curl下载文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:43 27 4
gpt4 key购买 nike

当我在终端中写入此内容时,文件如何被下载,

curl "http://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?file=gfs.t00z.pgrb2full.0p50.f000&lev_10_m_above_ground=on&var_UGRD=on&var_VGRD=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.2016121900" -o "tmp_folder/gfs.t00z.pgrb2full.0p50.f000"

但是使用 python 的 subprocess 模块,下载就会挂起?

import subprocess

网址=“http://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?file=gfs.t00z.pgrb2full.0p50.f000&lev_10_m_above_ground=on&var_UGRD=on&var_VGRD=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.2016121900

pipe = subprocess.Popen("curl " + URL + " -o" + " my_file", shell = True)
pipe.communicate()

我错过了什么?

谢谢

最佳答案

URL 可能没有正确引用,因此它由 shell 解释(使用所有 & 字符...)

使用显式参数作为列表更好地运行子进程:

pipe = subprocess.Popen(["curl",URL,"-o","my_file"])

shell=True 可能可以省略。由于您没有使用任何 shell 功能,因此它会为您省去麻烦。

关于python - 使用python的子进程通过curl下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41228578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com