【发布时间】:2017-05-14 23:24:05
【问题描述】:
#!/usr/bin/python
import sys
import getopt
o, a = getopt.getopt(sys.argv[1:], 'ab:c:')
print "options: %s" % (o)
print "arguments: %s" % (a)
运行python:
python TestOpt.py a b 10 c 20
打印出来是这样的:
options: []
arguments: ['a', 'b', '10', 'c', '20']
我不明白为什么选项是一个空列表,而参数看起来像选项?
【问题讨论】:
-
"不熟悉 C
getopt()函数或希望编写更少代码并获得更好帮助和错误消息的用户应考虑改用argparse模块。" -
您熟悉 Unix 命令行约定吗?选项以连字符开头。
-
使用连字符,我现在可以看到选项,但参数变成了一个空列表。这是它应该做的吗?
options: [('-a', ''), ('-b', '10'), ('-c', '20')] arguments: []