【发布时间】:2016-08-16 04:36:22
【问题描述】:
我在 python 中完成了一个脚本,现在卡在界面中,这需要从用户那里获得很少的选项,但不确定获取可选参数的最佳方法是什么。 代码如下...
def getOptions(argv):
try:
opts,args = getopt.getopt(argv, "hi:c:d:m", ["ifile=", "add=", "delete"])
except getopt.GetoptError:
printUsage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
print ("test -m <make> [src] [dst]\n")
print ("test -i <install>[filename] \n")
.....
sys.exit()
if opt in ( "-m", "--make"):
make(arg)
sys.exit()
if opt in ("-i","--install"):
install(arg)
sys.exit()
... # few more options
else:
assert False, "unhandled option"
我的问题是我怎样才能省略参数(比如使用 arg 的默认可选路径),如果没有提供,从用户那里获取?
目前我必须提供
./test -i
我怎样才能省略文件名并调用
./test -i
我又遇到了同样的问题,我的开发环境是 python 2.6,由于限制,现在使用 optparse 但有同样的问题,我必须支持一个可选参数并且找不到其他方法与手动解析 sys.argv 相比,我有近 10 种不同的选项,如果我可以处理一个可选参数,我的脚本对于最终用户来说会更方便。
【问题讨论】:
标签: python optional-parameters getopt