У меня есть .py и командный файл на USB-накопителе. Как я могу получить его, чтобы командный файл мог открывать файл .py. Когда я пробовал это раньше, он не может найти файл.
(Если, конечно, сценарий называется script.bat, ваш USB-накопитель - F:, сценарий находится в папке F:\documents\ , а каталог, в котором находится python, является частью переменной %PATH%.
Как мы можем помочь вам устранить неполадки в коде, если вы не показываете нам, что уже пробовали?






Предположим, файл Python называется script.py, а командный файл находится не только на том же диске, но и в той же папке. Тогда команда будет такой:
"%~dp0script.py"
Давайте разберемся с этим:
'% ~ 0' в пакетном сценарии - это путь / имя файла текущего выполняемого сценария. Вы можете добавить модификаторы, чтобы получить части пути / имени файла: 'd' - это буква диска, а 'p' - это путь к каталогу (который включает в себя косую черту), поэтому '% ~ dp0' - это диск и путь (но не имя файла или расширение) исполняемого в данный момент сценария. Для получения дополнительных сведений об этом синтаксисе введите «вызов справки» в командное окно.
Поскольку я предполагал, что сценарий python находится в той же папке, вы просто добавляете имя сценария в "% ~ dp0". Если вы выполняете f: \ path \ to \ batchfile.bat, "% ~ dp0script.py" становится "f: \ path \ to \ script.py". Если скрипт находится в подпапке, вы можете добавить его в - «% ~ dp0subfolder \ script.py» или даже «% ~ dp0 .. \ sibling \ script.py», если скрипт python находится в родственной папке к той, которая у вас пакетный скрипт запускается из.
Наконец, для удобства вы цитируете все это целиком, если часть пути содержит пробелы. Если вашему скрипту python требуются аргументы, вы можете добавить их позже, вне кавычек.
"%~dp0script.py" "arg1" "arg2" "arg3" ...
Самое приятное во всем этом то, что это работает независимо от того, находится ли ваша пара файлов на USB-накопителе, локальном вспомогательном файле, компакт-диске или DVD, и если пользователь копирует оба сценария вместе в какую-то другую локальную папку = вместе где-нибудь на своем компьютере - пакет script по-прежнему вызывает сценарий python без необходимости изменения. Это также не требует, чтобы пользователь или ваш сценарий сначала «cd» в папку, содержащую сценарий - он работает независимо от рабочего каталога, когда ваш командный файл вызывается пользователем.
Что ты пытаешься?
python F:\documents\script.batдолжен работать.