Вызов curl в командной строке Windows из Python - PullRequest
0 голосов
/ 20 марта 2019

В определенный момент выполнения скрипта Python я хочу вызвать cURL в командной строке Windows, например, так:

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 ++ обновлены. Я использую Windows 10 Home на компьютере x64.)

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 25 марта 2019

Оказывается, мне не нужен CURL в конце концов. Второй ответ на этот пост помог мне понять, как загрузить и сохранить файл локально через FTP с помощью пакета Python 'ftplib'. Вот мой окончательный код:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...