如何通过BatchFile从被调用的Python获取返回值(字符串)

Kib*_* Ko 8 python batch-file

我需要一些帮助.

我在Windows操作系统上使用了python33.

我想要结果吧.

在批处理文件中调用Python.(python Testing.py %arg1% %arg2%)

python是返回字符串值.(return('END') or exit('END'))

我想要设置BatchFile Variable(SET returnValue = python Testing.py %arg1% %arg2% )

并使用变量 %returnValue%

我试过搜索关键词.'python返回值到批处理文件'

我发现了这个暗示.
(Python)sys.exit(number)因此在BatchFile中调用%ErrorLevel%.

但是这个Sample可以是整数.不要应用字符串.

当然,Python可以在文件中创建字符串.和批处理文件可以加载文件.

或者环境变量可以.

但我想要不同的方法.

我只想要Python do Return值以及如何使用批处理文件中的返回值.

我怎样才能做到这一点?

ρss*_*ρss 12

到目前为止,我已经理解了你的问题 您希望从批处理文件执行python脚本,然后将python脚本的输出保存到批处理文件中的变量.

这是我的方式(可能有更好的方法来做到这一点).我只是test2.py从我的批处理文件中执行python脚本,然后我将python脚本的输出保存到一个临时文件中,Output稍后我将此文件读取到名为的批处理文件变量MYVAR,然后我将删除临时文件Output.

批次代码被提供如下:

@ECHO OFF
test2.py > Output
SET /p MYVAR=<Output
ECHO %MYVAR%
PAUSE
DEL Output
Run Code Online (Sandbox Code Playgroud)

python文件test2.py包含以下代码:

print "Python"
Run Code Online (Sandbox Code Playgroud)

批处理文件和python文件位于同一目录中!

输出:

执行批处理文件后,您将在控制台中看到:

Python
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!