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

15
我在Win XP上运行Python 3.2。我通过批处理文件运行Python脚本,方法如下:
```html C:\Python32\python.exe test.py %1 ```
`%1`是我传递给Python脚本进行一些处理的参数。
批处理文件中有两个变量,我也希望将它们作为参数传递给Python脚本。
```html set $1=hey_hi_hello ```
```html set $2=hey_hi ```
如果可能的话,我希望能这样做:
```html C:\Python32\python.exe test.py %1 $1 $2 ```
然后通过`sys.argv[2]`和`sys.argv[3]`在Python脚本中检索这些参数。
感谢任何帮助。谢谢。
2个回答

19

your_script.bat:

set VAR_1=this
set VAR_2=that

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

2
@Tim Henigan:我想你的意思是 python test.py %1 %VAR_1% %VAR_2% - Hugh Bothwell
1
请注意,这适用于任何类型的环境变量,无论是本地还是全局。因此,您可以执行类似于 python %USERPROFILE%\scripts\test.py %1 %VAR_1% %VAR_2% 的操作。 - JAB

0

另一种选择是在Python脚本后面写参数,例如:

python your_script.py this that

如果你正在使用Linux的.sh文件,请记得在运行之前先运行dos2unix XXX.sh,然后再运行bash XXX.sh

简单来说,原因是dos和unix使用不同的换行符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接