Я пытаюсь выполнить следующий локон заявление из сценария Python для того, чтобы загрузить файл, используя слабину API:Выполнения локон заявления с использованием подпроцесса в сценарии Python не работает
curl -F [email protected] -F channels=#general -F token=xxxx-xxxxxxxxx-xxxx https://slack.com/api/files.upload
Когда я бегу выше команды с моего терминала, он успешно загружает файл с правильным файлом в общий канал. Однако, когда я пытаюсь запустить его из моего сценария Python, используя код, приведенный ниже, я получаю сообщение об ошибке: TraceBack
bash_cmd = 'curl -F [email protected] -F channels=#general -F token=xxxx-xxxxxxxxx-xxxx https://slack.com/api/files.upload'
process = subprocess.Popen(bash_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stout, sterr = process.communicate()
Ошибка:
Traceback (most recent call last):
File "trendbot.py", line 75, in <module>
handle_command(command, channel)
File "trendbot.py", line 47, in handle_command
process = subprocess.Popen(bash_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "/Users/melanie/anaconda/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/Users/melanie/anaconda/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Если я напечатать bash_cmd
и вставить его в моем Окно терминала, оно также успешно работает. Вся помощь была оценена.