如何使用选择性结构调用基于argparse的函数?

时间:2019-07-07 04:15:34

标签: python python-3.x function argparse

我是python的新手,我想知道如何在选择性结构上调用基于argparse的函数

我尝试了此功能

def parseArgument(abv, name, hdescriptop, isrequired):
  parser=argparse.ArgumentParser()
  parser.add_argument(abv, 
                      name, 
                      help=hdescription, 
                      required=isrequired,
                      action="store_true",
                      )
  args=parser.parse_args()
  return args

parseArgument("-y", "--humedity", "Calculate humedity", False)

if args.cycle:
  print("DPV cycle: ", DPV(w, 0, list_DPV_CYCLE, count_NC))
#elif args.moredata:
#  print(more data)

*提示:无需知道DPV是什么

我希望在终端上运行python脚本并编写时 python nameofthescript.py -y,获得具有选择性结构的调用函数parseArgument()

1 个答案:

答案 0 :(得分:0)

关注我的评论

In [50]: def parseArgument(argv, abv, name, hdes): 
    ...:   parser=argparse.ArgumentParser() 
    ...:   parser.add_argument(abv,  
    ...:                       name,  
    ...:                       help=hdes,  
    ...:                       action="store_true", 
    ...:                       ) 
    ...:   args=parser.parse_args(argv) 
    ...:   return args 
    ...:  
    ...: args = parseArgument([], "-y", "--humedity", "Calculate humedity")                                     
In [51]: args                                                                                                   
Out[51]: Namespace(humedity=False)
In [52]: args.humedity                                                                                          
Out[52]: False

测试其他命令行:

In [53]: args = parseArgument(['-y'], "-y", "--humedity", "Calculate humedity")                                 
In [54]: args                                                                                                   
Out[54]: Namespace(humedity=True)
In [55]: args.humedity                                                                                          
Out[55]: True