[英]Execute multi-line python code inside Windows Batch script
我想在 Windows 批處理腳本中使用多行 python 語句。
比如我的BAT腳本是:
@echo off
echo "Executing Python Code..."
goto python_code
:python_code_back
echo "Executed Python Code!"
pause
exit()
:python_code
python -c print("""Python code running""")
goto python_code_back
python -c
適用於單個語句。 但是讓我的 python 代碼嵌入是:
import random
num = input("Enter Number: ")
num = int(num)
if num%2 == 0:
print("Even")
else:
print("Odd")
exit()
如何在不調用另一個 python 腳本或創建臨時 python 文件的情況下將此Python 代碼嵌入到我的Windows 批處理腳本中?
我有一些選擇:
試試這樣:
0<0# : ^
'''
@echo off
echo batch code
python %~f0 %*
exit /b 0
'''
import random
import sys
def isOdd():
print("python code")
num = input("Enter Number: ")
num = int(num)
if num%2 == 0:
print("Even")
else:
print("Odd")
def printScriptName():
print(sys.modules['__main__'].__file__)
eval(sys.argv[1] + '()')
exit()
用法示例:
call pythonEmbeddedInBatch.bat isOdd
call pythonEmbeddedInBatch.bat printScriptName
第一行將是python中的boolean表達式,但是批量重定向到一個空的label。 批號rest會在多行python注釋中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.