如何在批处理函数中运行Python代码

问题描述 投票:0回答:1

是否可以在批处理函数中运行Python代码?

我在 bash 中有这样的东西:

addcert(){
$PYTHON << EOF
import os
from datetime import datetime

...

EOF
}

尝试过:

:addcert
python -x "%~f0" %* & goto :endofPython
import....
print("ok")

:endofPython
EXIT /B 0

但这也许不是正确的方法。

谢谢你

python-3.x batch-file
1个回答
0
投票

在批处理脚本 (Windows) 中运行 Python 代码可能有点棘手。但是,您可以通过将 Python 代码嵌入批处理脚本并使用 python 命令执行它来实现此目的。以下是有关如何执行此操作的分步指南:

分步指南 创建批处理函数: 定义将运行嵌入式 Python 脚本的批处理函数。

嵌入Python脚本: 使用一种技术将 Python 脚本嵌入到批处理脚本中。

执行Python脚本: 使用python命令执行嵌入的Python脚本。

这是演示此方法的示例批处理脚本 (script.bat):

@echo off
SETLOCAL

REM Define a batch function to run the embedded Python script
:addcert
(
    echo import os
    echo from datetime import datetime
    echo 
    echo # Your Python code here
    echo print("Running embedded Python script")
    echo print("Current working directory: ", os.getcwd())
    echo print("Current datetime: ", datetime.now())
) > "%temp%\temp_script.py"

REM Execute the embedded Python script
python "%temp%\temp_script.py"

REM Clean up
del "%temp%\temp_script.py"

ENDLOCAL
EXIT /B 0

说明: 批处理函数定义: addcert 函数被定义为运行嵌入式 Python 脚本。

嵌入Python脚本: echo 命令用于将 Python 脚本行写入 %temp% 目录中的临时文件 (temp_script.py)。

执行Python脚本: python命令用于运行临时Python脚本。

清理: 临时Python脚本在执行后被删除以清理。

使用方法: 将上面的批处理脚本保存为script.bat。 从命令行运行脚本

script.bat

这将执行批处理脚本中嵌入的 Python 脚本,您应该会看到 Python 脚本的输出打印到控制台。

© www.soinside.com 2019 - 2024. All rights reserved.