我们在一台 PC 上遇到了问题,它似乎不遵守 .bat 脚本中的参数,即不将它们传递给调用的 python 脚本。它在大约 10 台其他非常相似的机器上运行良好。
我们有一个这样的bat脚本:
@REM Just pass all arguments directly to the python script of the same name
@%~dpn0.py %*
在这台电脑上,似乎参数没有传递给正在调用的 python 脚本。
这个习语在我们的构建空间中随处可见——但我们无法弄清楚为什么它只在一台机器上失败。
请问对于原因或我们如何调试该问题,您有什么建议吗?
- 操作系统:Windows 7 Pro,64位
- Python 版本:2.7.6
答案1
Clare 代表我问了这个问题,但我后来弄清楚了是怎么回事。感谢 JSanchez 给出的答案。问题不在于 bat 脚本,而在于它调用的 python;我找到了一种解决方法,只需输入
python the_python_script.py the arguments
已经起作用了。我没有想到的是检查一下是否只输入
the_python_script.py the arguments
在命令行中,让 Windows 负责使用哪个 Python 来运行脚本
当我这样做时,程序出现了同样的问题——没有参数。
这又让我
所以我检查了注册表——我的关联确实被破坏了
已修复,现在似乎可以工作了...所以这不是脚本.bat
,而是 python 文件关联。