解析argparse以外的命令行选项

时间:2012-12-28 08:39:05

标签: python command-line-arguments argparse

我通常使用argparse来解析参数,但它看起来像是自2.7以来引入的,我目前在2.6.5上,由于公司政策,我无法升级到更新版本,我需要一些关于如何解析下面给出的选项的输入,有没有一种更简单快捷的方法转换为2.6.5的解析选项?请建议

import os
import sys, getopt
import argparse

def main ():
    parser = argparse.ArgumentParser(description='Test script')
    parser.add_argument('-sau','--set',action='store',dest='set',help='<Required> Set flag',required=True)
    parser.add_argument('-bg','--base_g',action='store',dest='base_g',help='<Required> Base g',required=True)
    results = parser.parse_args()# collect cmd line args
    set = results.set
    base_g = results.base_g

if __name__ == '__main__':
    main()

2 个答案:

答案 0 :(得分:3)

自版本2.7起,

argparse已取代optparse

因此,请使用optparse

答案 1 :(得分:1)

我也喜欢argparse和内置模块。但是,当谈到CL-args解析时,我开始喜欢docopt。由于您只是将它与源文件一起包含在内,因此您不再需要担心已弃用的模块。 GitHub上的当前源代码虽然在Python3中,但是为Python 2.x调整它应该不会太多工作。