Optparse主函数,里面的选项如何使用



我有一个脚本,有几个函数,太长,写在这里,但我实现optparse在一个主要功能,这是:

def main():
    usage = "useage: %prog [options]"
    parser = OptionParser(usage)
    parser.add_option("-f", "--file", type="string", dest="filename", help="Get the name of the cabling file")
    parser.add_option("-i","--imod",dest="modules", help="write the modules in order to get some info",metavar="FILE")
    parser.add_option("-d","--data", type="string", dest="datas",default=True, help="write the options of the Info about a (set of) module(s)")
    parser.add_option("-j","--values", type="string", dest="infor",default=True, help="Modules associated to a(some) value(s)")
    parser.add_option("-k","--common", type="string", dest="common",default=True, help="Values with modules in common")
    (options, args) = parser.parse_args()
    if (options.filename is None):
        parser.error("No cabling filename was given!")

    #Info about modules    
    list1 = options.modules.split(',')
    list2 = options.datas.split(',')
    for i in list1:
        print "For module with DetIdn: %r " % (i)
    for j in ist2: 
        print  "%r is: %r" % (j,MyHVDict[i][j]) 
    if __name__=="__main__":
        main()

脚本还有其他一些函数,这取决于用户的输入(如filename和在主函数中定义的选项),所以我如何使用我在这个主函数中定义的选项,例如,如果一切都在主函数之外,我只需要写options.filenameoptions.modules,任何时候我需要这个,但在函数内我不知道该怎么做。

如果你的函数在main函数内部调用,你可以传递options.what_you_need_in_function作为参数。

def your_funcion(parameter_you_need):
    ...
def main():
    ...
    your_function(options.what_you_need_in_function)
    ...

optparse模块已弃用,您可以更改为argparse模块

相关内容

  • 没有找到相关文章

最新更新