Как открыть файл Python на отдельном диске с помощью командного файла?

У меня есть .py и командный файл на USB-накопителе. Как я могу получить его, чтобы командный файл мог открывать файл .py. Когда я пробовал это раньше, он не может найти файл.

Что ты пытаешься? python F:\documents\script.bat должен работать.

SomethingDark 09.11.2018 03:57

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

SomethingDark 09.11.2018 03:58

Как мы можем помочь вам устранить неполадки в коде, если вы не показываете нам, что уже пробовали?

Squashman 09.11.2018 04:12
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
78
1

Ответы 1

Предположим, файл 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» в папку, содержащую сценарий - он работает независимо от рабочего каталога, когда ваш командный файл вызывается пользователем.

Другие вопросы по теме