Я пытаюсь создать программу на python (python 3.6), которая записывает команды на терминал для загрузки определенного видео на YouTube (используя youtube-dl).
Если я захожу на терминал и выполняю следующую команду:
cd; cd Desktop; youtube-dl "https://www.youtube.com/watch?v=b91ovTKCZGU"
Будет загружено видео на мой рабочий стол. Однако, если я выполню приведенный ниже код, который должен выполнять ту же команду на терминале, он не выдаст ошибку, но и не загрузит это видео.
import subprocess
cmd = ["cd;", "cd", "Desktop;", "youtube-dl", "\"https://www.youtube.com/watch?v=b91ovTKCZGU\""]
print(subprocess.call(cmd, stderr=subprocess.STDOUT,shell=True))
Кажется, что это просто выводит 0. Я не думаю, что существует какая-либо ошибка 0, которая существует (есть ошибки 126 и 127). Так что, если он не выдает ошибку, почему он также не загружает видео?
Обновление:
Я исправил приведенный выше код, передав строку, и проверил, что youtube-dl установлен в моем python по умолчанию, а также находится в папке, куда я хочу скачать видео, но все равно выдает ошибку 127, что означает команду «youtube». -dl "не найден.