python脚本传递的可选参数
我有一个简单的python脚本,它接受三个参数-f-l-a。我希望-a是一个可选参数,使用try/except是否是实现这一点的最有效方法(我想如果它们没有传递所需的参数,我需要捕获异常)?以下是脚本,请提前感谢:python脚本传递的可选参数,python,variables,nameerror,optional,Python,Variables,Nameerror,Optional,我有一个简单的python脚本,它接受三个参数-f-l-a。我希望-a是一个可选参数,使用try/except是否是实现这一点的最有效方法(我想如果它们没有传递所需的参数,我需要捕获异常)?以下是脚本,请提前感谢: 首先看一下Python文档中的opt变量与位置参数的原理 试着看一下模块。如果你还想这样做,它的API更灵活。你认为加粗和创建大字体会让你的问题更紧迫吗?@Jack_of_All_Trades刚刚批准了一个待定的编辑。“所需选项通常被认为是不好的形式,因为用户希望选项是可选的,因此
首先看一下Python文档中的opt变量与位置参数的原理
试着看一下模块。如果你还想这样做,它的API更灵活。你认为加粗和创建大字体会让你的问题更紧迫吗?@Jack_of_All_Trades刚刚批准了一个待定的编辑。“所需选项通常被认为是不好的形式,因为用户希望选项是可选的,因此在可能的情况下应该避免。”
try:
(options, args) = getopt.getopt(sys.argv[1:], 'f:l:a:', ['first=', 'last=', 'age='] )
except getopt.GetoptError:
help()
for option in options:
if option[0] == '-f':
firstName = option[1]
elif option[0] == '-l':
lastName = option[1]
elif option[0] == '-a':
personAge = option[1]
if (firstName is None):
print >>sys.stderr, "Missing first name"
sys.exit(1)
if (lastName is None):
print >>sys.stderr, "Missing first name"
sys.exit(1)
try:
(personAge is None)
except NameError:
print("Setting personAge to unknown")
personAge = 'Unknown'
print firstName + " " + lastName + " " + personAge