在 getopt 中使用单字母 arg

问题描述 投票:0回答:1

在以下 Python 代码片段中,为什么参数

-h
--commandfile
有效,而
-c
不起作用?

这是代码:

#!/bin/python
import sys, getopt
try:
    opts, args = getopt.getopt(sys.argv[1:],"hn:p:",["commandfile=","pkeyname="])
except getopt.GetoptError:
    print('Error')
    sys.exit(2)

#   parse the args
for opt, arg in opts:
    if opt == '-h':
        print('endorse.py [-c,--commandfile] <parent commandfile> <parent keyname> [-k --pkeyname]')
        sys.exit()
    elif opt in ("-c", "--commandfile"):
        print (arg)
    elif opt in ("-k", "--pkeyname"):
        pkeyname = arg
python getopt
1个回答
0
投票

长选项

commandfile=
不会自动使其第一个字母成为有效的短选项。您需要将其包含在短选项参数中。

opts, args = getopt.getopt(sys.argv[1:], "hn:p:c:",["commandfile=","pkeyname="])
© www.soinside.com 2019 - 2024. All rights reserved.