Python命令行选项在一个帐户上失败,但在另一个帐户上失败

时间:2011-07-28 12:34:45

标签: python windows windows-server-2008

我在Windows Server 2008上运行。我们在多个服务器上广泛使用Python,并且大部分都运行良好。但是,在至少一个服务器上,当我从命令行运行时,参数不会传递给我的python脚本。如果我以其他用户身份登录,则脚本将按预期工作。我也可以在Eclipse IDE中运行带有参数的脚本,没有任何问题。

我会做这样的事情:

myscript.py -h

\Python2.6\python.exe myscript.py -h

它不是显示帮助,而是使用默认参数运行。

如果我没记错的话(这已经有一段时间了,所以我的记忆很模糊),这个帐号用来运行这些脚本没有问题。

1 个答案:

答案 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脚本”的规范。