скачать файл с помощью команды curl с помощью подпроцесса Popen - PullRequest
0 голосов
/ 15 октября 2019

Я использую команду curl для загрузки файла и запускаю подпроцесс для запуска этой команды. я хочу контролировать предельную скорость загрузки до 50 мегапикселей.

, когда я запускаю ниже запятой в терминале, он работает нормально.

curl -o down.tar.gz --limit-rate 50M http://localhost:5000/download

, но когда я запускаю Popen, чтобы запустить эту команду в pycharmкак ниже,

Popen(['curl', '-o', 'down.tar.gz','--limit-rate 50M', 'http://localhost:5000/download'])

, тогда это дает мне ошибку, как показано ниже,

curl: option --limit-rate 50M: is unknown
curl: try 'curl --help' or 'curl --manual' for more information

Как я могу использовать curl с предельной скоростью в Popen ??

1 Ответ

2 голосов
/ 15 октября 2019

Когда Popen вызывается со списком, аргументы не разделяются дальше. Таким образом, ваш код передает весь --limit-rate 50M в качестве единственного аргумента curl.

Вам необходимо разделить параметр и значение-опции в списке токенов команды следующим образом:

Popen(['curl', '-o', 'down.tar.gz','--limit-rate', '50M', 'http://localhost:5000/download'])
...