【发布时间】:2012-05-12 06:55:35
【问题描述】:
我的 python 程序正在使用 check_call 在 Windows 上调用一个脚本:
import subprocess
subprocess.check_call(['my_script.bat', 'foo=bar'])
我希望 my_script.bat 接收一个命令行参数 (foo=bar),但实际上接收到两个 (foo 和 bar)。换句话说,似乎等号被转换为空格。在 Linux 上一切正常。
在 Windows 上格式化此字符串以使 my_script 看到包含等号的单个参数的正确方法是什么?
my_script.bat:
echo %1
在我的实际应用中,my_script.bat 是scons.bat。
【问题讨论】:
-
在 win7 中使用 python2.7 对我来说效果很好。您确定您的脚本正在正确解析 args 吗?
-
@jdi:谢谢;我已经更新了我的问题描述。
-
不知道你为什么把它重新标记为 scons?它特别是一个 Windows 批处理文件命令行参数问题。不是 python 或 scons。
-
@jdi:希望 scons 专家能看到问题并识别解决方案。如果您愿意,请将其删除。
标签: python windows batch-file command-line-arguments scons