2

我无法启动 python 脚本并获取我发送到脚本的参数。

在此处输入图像描述

如您所见,如果我使用 python 命令启动以下测试脚本,它可以工作,如果不是,那么不会将任何参数传递给脚本:/

import optparse
import sys

oOptParse = optparse.OptionParser()

oOptParse.add_option("--arg", dest="arg", help="Test param")
oOptParse.set_default("arg", None)

if len(sys.argv) == 1:
    oOptParse.print_help( )
    sys.exit( 1 )
aOptions = oOptParse.parse_args( )
oOptions =  aOptions[0]

print (oOptions.arg)

你知道可能是什么问题吗?

非常感谢 !

4

2 回答 2

0

将shebang放在python文件的开头:

#!/usr/bin/env python

通过以下方式使文件可执行:

chmod +x test.py

然后输入:

./test.py --arg hello

在 Windows 系统下,您可以在 Cygwin 下进行上述操作,或者通过以下方式将扩展名 .py 关联到 Python:

C:\> assoc .py=Python.File
C:\> ftype Python.File=C:\Path\to\python.exe "%1" %*
于 2013-02-21T10:57:23.950 回答
0

找到了我的答案。

这是注册表设置的问题,以下键

HKEY_CLASSES_ROOT\py_auto_file\shell\open\command 

被设置为

"C:\Python26\python.exe" "%1" 

但应该是

"C:\Python26\python.exe" "%1" %*
于 2013-02-21T13:12:32.487 回答