Как я могу создать простой BAT файл, который будет запускать мой скрипт на python, расположенный в C:\somescript.py?
Создание файла BAT для python script
Ответ 1
c:\python27\python.exe c:\somescript.py %*
Ответ 2
Откройте командную строку (⊞ Win + R, cmd
, ↵ Enter) и введите python -V
, ↵ Enter.
Вы должны получить ответ, что-то вроде Python 2.7.1
.
Если нет, возможно, у вас не установлен Python. Исправьте это в первую очередь.
Если у вас есть Python, ваш командный файл должен выглядеть
@echo off
python c:\somescript.py %*
pause
Это будет держать командное окно открытым после завершения скрипта, так что вы сможете увидеть любые ошибки или сообщения. Как только вы довольны этим, вы можете удалить строку "пауза", и окно команд закроется автоматически, когда закончите.
Ответ 3
Просто откройте пакетный файл, содержащий две строки в одной папке вашего python script:
somescript.py
pause
Ответ 4
Вот как вы можете поместить как пакетный код, так и код Python в один файл:
0<0# : ^
'''
@echo off
echo batch code
python %~f0 %*
exit /b 0
'''
print("python code")
'''
соответственно начинает и заканчивает многострочные комментарии Python.
0<0#: ^
более интересен - из-за приоритета перенаправления в пакетном режиме он будет интерпретироваться как :0<0# ^
пакетным сценарием, который является меткой, выполнение которой не будет отображаться на экране. Символ каретки в конце будет выходить за пределы новой строки, а вторая строка будет присоединена к первой строке. Для python это будет оператор 0<0
и начало встроенного комментария.
Кредит идет на Сибирь-человек
Ответ 5
Если вы добавили Python в свой PATH, вы также можете просто запустить его следующим образом.
python somescript.py
Ответ 6
--- xxx.bat ---
@echo off
set NAME1="Marc"
set NAME2="Travis"
py -u "CheckFile.py" %NAME1% %NAME2%
echo %ERRORLEVEL%
pause
--- yyy.py ---
import sys
import os
def names(f1,f2):
print (f1)
print (f2)
res= True
if f1 == "Travis":
res= False
return res
if __name__ == "__main__":
a = sys.argv[1]
b = sys.argv[2]
c = names(a, b)
if c:
sys.exit(1)
else:
sys.exit(0)
Ответ 7
Вы можете использовать код Python непосредственно в командном файле, https://gist.github.com/jadient/9849314.
@echo off & python -x "%~f0" %* & goto :eof
import sys
print("Hello World!")
Смотрите объяснение, опция командной строки Python -x.
Ответ 8
Если это BAT файл в другом каталоге, чем текущий, вы можете увидеть ошибку вроде "python: не удается открыть файл" somescript.py ": [Errno 2] Нет такого файла или каталога". Это можно исправить, указав абсолютный путь к BAT файлу, используя %~dp0
(буква диска и путь к этому пакетному файлу).
@echo off
python %~dp0\somescript.py %*
(Таким образом, вы можете игнорировать c:\
или что угодно, потому что, возможно, вы захотите переместить этот скрипт)
Ответ 9
начать xxx.py
Вы можете использовать это для некоторых других типов файлов.
Ответ 10
ECHO OFF
set SCRIPT_DRIVE = %1
set SCRIPT_DIRECTORY = %2
%SCRIPT_DRIVE%
cd %SCRIPT_DRIVE%%SCRIPT_DIRECTORY%
python yourscript.py'
Ответ 11
я сделал это и работает: у меня есть проект в D: и мой командный файл находится на рабочем столе, если он у вас на том же диске, просто проигнорируйте первую строку и измените каталог de D во второй строке
во второй строке измените папку файла, поместите вашу папку
в третьей строке измените имя файла
D:
cd D:\python_proyects\example_folder\
python example_file.py