从Python在Windows命令行上调用curl

时间:2019-03-20 05:31:31

标签: python curl cmd

在执行Python脚本的某个时刻,我想在Windows命令行上调用cURL,如下所示:

import subprocess
subprocess.call('curl', shell=True)

但是我得到这个错误:

  

'curl'不被识别为内部或外部命令,   可操作的程序或批处理文件。

如果使用完整路径,也会发生同样的事情:

subprocess.call('C:\\Windows\\System32\\curl.exe', shell=True)
  

“ curl”未被识别为内部或外部命令,可操作程序或批处理文件。

但是,如果我只是打开Windows命令提示符并键入'curl',它就会起作用:

  

curl:尝试使用“ curl --help”以获取更多信息

为什么?

(curl在我的环境变量中,并且我的Visual C ++ Redistributables是最新的。我在x64机器上使用Windows 10 Home。)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

结果我根本不需要cURL。 The second answer to this post帮助我弄清楚了如何使用Python的“ ftplib”包通过FTP在本地下载和保存文件。这是我的最终代码:

from ftplib import FTP
with FTP('ftp.ncbi.nlm.nih.gov') as ftp:
    ftp.login()
    ftp.cwd('pubmed/baseline-2018-sample')
    # acronym: File To Be Downloaded
    FTBD = 'pubmed19n0004.xml.gz'
    # acronym: Where To Store Downloaded File
    WTSDF = open('C:/Users/S/Documents/this_project/pubmed19n0004.xml.gz', 'wb')
    ftp.retrbinary('RETR ' + FTBD, WTSDF.write, 1024)
    WTSDF.close()
    ftp.quit()