我在Windows Server 2008上运行。我们在多个服务器上广泛使用Python,并且大部分都运行良好。但是,在至少一个服务器上,当我从命令行运行时,参数不会传递给我的python脚本。如果我以其他用户身份登录,则脚本将按预期工作。我也可以在Eclipse IDE中运行带有参数的脚本,没有任何问题。
我会做这样的事情:
myscript.py -h
或
\Python2.6\python.exe myscript.py -h
它不是显示帮助,而是使用默认参数运行。
如果我没记错的话(这已经有一段时间了,所以我的记忆很模糊),这个帐号用来运行这些脚本没有问题。
答案 0 :(得分:1)
如果您启动Python脚本,例如:
import sys
for a in sys.argv:
print a
with plain
showargs.py a b c
有效呼叫由注册表设置控制,可以使用 ftype
进行检查ftype Python.File
Python.File="C:\Python25\python.exe" "%1" %*
%*对于将参数传递给脚本至关重要。如果缺少%*,
ftype Python.File="C:\Python25\python.exe" "%1"
Python.File="C:\Python25\python.exe" "%1"
showargs.py
<no output>
脚本没有看到任何参数。此ftype设置不应影响显式调用:
python showargs.py a b c
showargs.py
a
b
c
但是你的系统/ IDE中的“python”可能以迂回的方式调用'真正的'python.exe - 因此也会受到ftype设置的影响。因此,使用ftype进行快速检查和/或查看IDE中“运行python脚本”的规范。