Запуск строки CMD в скрипте python - PullRequest
0 голосов
/ 30 апреля 2020

В настоящее время я пытаюсь запустить указанную команду c в терминале windows, но из сценария Python (3.7.7). Я знаю, что эта команда работает в терминале CMD:

"F:\Prog Folder\7-Zip\7z" e "F:\Folder Name\Zipfile.7z" -o"F:\Folder Name\Dolphin Folder" *.iso -mx5

Однако из-за синтаксиса и чувствительности Windows не так просто вызвать подпроцесс и использовать ту же команду. Вот что у меня есть сейчас как часть моего python скрипта:

import subprocess

subprocess.run(['cmd', '/k', "\"\"F:\Prog Folder\7-Zip\7z\" \"x\" \"F:\Folder Name\Zipfile.7z\" \"-o\"F:\Folder Name\Dolphin Folder\"\" \"*.iso\" \"-mx5\"\""])

Я также пытался (subprocess.call) и до сих пор получаю эту ошибку от терминала cmd и не могу выяснить проблему:

The filename, directory name, or volume label syntax is incorrect.

Любые рекомендации или советы по этому поводу? Я знаю, что обратные слеши чувствительны, но я думал, что у меня все правильно ...

РЕДАКТИРОВАТЬ :

Я попробовал предложения в комментариях:

os.system(""F:\Prog Folder\7-Zip\7z" e "F:\Folder Name\Zipfile.7z" -o"F:/Folder Name/Dolphin Folder" *.iso -mx5")

Это дало мне ошибку "неверный синтаксис" и выделил букву диска "F"

I попробовал subprocess.call и subprocess.run, как указано в Вызов внешней команды из Python безуспешно. Мне просто нужно выполнить ту же строку кода, которая работает в CMD, но через python; так что, должно быть, проблема в синтаксисе, но в моей ситуации ни один из существующих вопросов о StackOverflow не работает ...

...