将参数从批处理文件发送到 Python 脚本

Posted

技术标签:

【中文标题】将参数从批处理文件发送到 Python 脚本【英文标题】:Sending arguments from Batch file to Python script 【发布时间】:2012-06-05 02:04:36 【问题描述】:

我在 Win XP 上运行 Python 3.2。我通过这个批处理文件运行 python 脚本:

C:\Python32\python.exe test.py %1

%1 是我传递的一个参数,用于在 python 脚本中进行一些处理。

我在批处理文件中有 2 个变量,我也想将它们作为参数发送给 python 脚本。

set $1=hey_hi_hello

set $2=hey_hi

如果可能的话,我希望能够做这样的事情:

C:\Python32\python.exe test.py %1 $1 $2

然后通过sys.argv[2]sys.argv[3]在python脚本中检索这些参数

在这方面的任何帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

your_script.bat:

set VAR_1=this
set VAR_2=that

python your_script.py %1 %VAR_1% %VAR_2%

【讨论】:

这样就完成了。谢谢! @Tim Henigan:我想你的意思是python test.py %1 %VAR_1% %VAR_2% 请注意,这适用于任何类型的环境变量,本地或全局。所以你可以做类似python %USERPROFILE%\scripts\test.py %1 %VAR_1% %VAR_2%的事情。【参考方案2】:

另一种选择是在 python 脚本之后立即编写参数,如下所示:

python your_script.py this that

如果您使用的是 Linux .sh 文件,请记住在运行之前运行 dos2unix XXX.shbash XXX.sh.

在一个简单的版本中,原因是 dos 和 unix 使用不同的换行符。

【讨论】:

以上是关于将参数从批处理文件发送到 Python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

将参数从批处理文件传递到 PowerShell 脚本

将参数从批处理文件传递到 PowerShell 脚本

将批处理文件输出管道传输到 Python 脚本

如何将字符 q 从批处理文件发送到 GIT

从带有参数的python脚本执行python文件jenkins]

从批处理文件运行python脚本时,如何自动将输入值传递给python“输入”函数