将参数从批处理文件发送到 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.sh
:
bash XXX.sh
.
在一个简单的版本中,原因是 dos 和 unix 使用不同的换行符。
【讨论】:
以上是关于将参数从批处理文件发送到 Python 脚本的主要内容,如果未能解决你的问题,请参考以下文章