什么是我可以使用argparse的最佳方法,但是回到getopt?

时间:2017-02-24 15:30:43

标签: python argparse getopt

在我们的商店,我们安装了多个版本的python。 Solaris,CentOs和Ubuntu上的2.4 - 2.7和3.1到3.5。我想尽可能使用argparse,但是当它不可用时会回到getopt。

我目前的做法如下。谢谢。

try:
    import argparse
    argparse_in = True
except ImportError:
    argparse_in = False
    import getopt

...

if argparse_in:
    parser = argparse.ArgumentParser()

    parser.add_argument("-d", "--date",
                        help="date, i.e., yyyymmdd")
    parser.add_argument("-i", "--institution",
                        help="institution id")
    parser.add_argument("-v", "--verbosity", action="count", default=0,
                        help="increase output verbosity")
else:

    options, remainder = getopt.getopt(sys.argv[1:], 
                         'd:i:v', 
                         ['date=', 'institution=','verbososity'])
    for opt, arg in options:
        if opt in ('-d', '--date'):
            data_date = arg
        elif opt in ('-i', '--institution'):
            inst_id = arg
        elif opt in ('-v', '--verbose'):
            verbose += 1
...

0 个答案:

没有答案