Я довольно новичок в Python и пытался запустить файл .cmd с ним, но он не запустит его из правильного местоположения. Мой файл Run_setup.cmd настраивает другое программное обеспечение с кучей связанных файлов, поэтому я поместил их в отдельную папку для моего здравого смысла.
В настоящее время я могу получить файл .cmd для запуска из того же места, что и мой исходный код. Я знаю, что путаю путь к файлу для него с cwd = r '% s' , основываясь на том, что написано в документации, но я не понимаю, как.
Если cwd не равен Нет , функция изменяет рабочий каталог на cwd перед выполнением дочернего элемента. cwd может быть str и path-like объектом. В частности, функция ищет исполняемый файл (или первый элемент в аргументах) относительно cwd, если путь к исполняемому файлу является относительным.
В настоящее время он используется с помощью cwd = r 'C: \ LargeFolder \ Files \ CorrectFolder' на основе этого поста , и, похоже, он работает для любого пути к файлу, но Я не могу заставить его работать на меня.
from subprocess import Popen
def runCmdfile():
# File Path to source code: 'C:\LargeFolder\Files'
myDir = os.getcwd()
# File Path to .cmd file: 'C:\LargeFolder\Files\CorrectFolder'
myDir = myDir + '\CorrectFolder'
runThis = Popen('Run_setup.cmd', cwd=r'%s' % myDir)
stdout, stderr = runThis.communicate()
Чего мне здесь не хватает, и, кроме того, какова цель использования cwd = r '' ?