Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python脚本传递的可选参数_Python_Variables_Nameerror_Optional - Fatal编程技术网

python脚本传递的可选参数

python脚本传递的可选参数,python,variables,nameerror,optional,Python,Variables,Nameerror,Optional,我有一个简单的python脚本,它接受三个参数-f-l-a。我希望-a是一个可选参数,使用try/except是否是实现这一点的最有效方法(我想如果它们没有传递所需的参数,我需要捕获异常)?以下是脚本,请提前感谢: 首先看一下Python文档中的opt变量与位置参数的原理 试着看一下模块。如果你还想这样做,它的API更灵活。你认为加粗和创建大字体会让你的问题更紧迫吗?@Jack_of_All_Trades刚刚批准了一个待定的编辑。“所需选项通常被认为是不好的形式,因为用户希望选项是可选的,因此

我有一个简单的python脚本,它接受三个参数-f-l-a。我希望-a是一个可选参数,使用try/except是否是实现这一点的最有效方法(我想如果它们没有传递所需的参数,我需要捕获异常)?以下是脚本,请提前感谢:



首先看一下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