OPTPASE处理异常

2024-06-01 01:52:00 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想做的很简单,就是在我做-h.时启动一个简单的帮助对话框。。这很好,问题来了,当我试图做任何事情除了-h。处理这个问题的最佳实践是什么。现在将有更多的参数以-h开头被传递。这是我的主页

if __name__ == '__main__':
#if no args are specified in command line
if len(sys.argv)<2:
    print "Not enough arguments dude/dudett use -h for help"
else:
    #get args
    try:
        parser = OptionParser()
        parser.add_option("-h", "--help",
            action="store_true", dest="hlpBool")
        (opts, args) = parser.parse_args()
        if(options.hlpBool==true):
            print 'Help Statement'
            #sys.exit(2)
    except AttributeError as e:
        print (dir(e))

Tags: nonametrueparser参数ifmainsys
2条回答

-h内置在optpasse中,所以当我执行calling options.hlpBool时,这是不必要的

OptionParser现在贬值了,你应该考虑使用辩论分析器:

from argparse import ArgumentParser

parser = ArgumentParser(description='Your argument parser')
parser.add_argument(' a', dest='a', help='a option')
parser.add_argument(' b', dest='b', help='b option')
parsed_args = parser.parse_args()

print parsed_args.a
print parsed_args.b

-h功能内置于ArgumentParser中,因此不需要处理此选项。如果用户输入-h,它将显示用法

示例脚本-h执行:

[root@srvr1 tmp]# python argparsing.py -h
usage: argparsing.py [-h] [ a A] [ b B]

Your argument parser

optional arguments:
  -h,  help  show this help message and exit
   a A       a option
   b B       b option

脚本执行示例:

[root@srvr1 tmp]# python argparsing.py  a SOME_VALUE_A  b SOME_VALUE_B
SOME_VALUE_A
SOME_VALUE_B

相关问题 更多 >