如何在Python中使用argparse与ConfigParser库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联公司是专业的日土网站建设公司,日土接单;提供成都网站制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行日土网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!有时候写Python脚本,需要处理入参[-h][-v][-F]...等情况,如果自己来解析的话,会花费很多时间,而且也容易出问题,好在Python有现成的lib可以使用,就是argparse了,下面我们看看如何使用它。
import argparse def get_version(): return "0.0.1" def cmd_handler(): args = argparse.ArgumentParser() args.add_argument("-v", "--version", action='version', version=get_version()) args.add_argument("-o", "--output_name", type=str, dest="output_filename", help="Output File Name") args.add_argument("-S", "--SHA_Algorithm", type = str, dest = "ENABLE_SHA384_AES256", help = "SHA Algorithm. (SHA256 or SHA384, default is SHA256)", default='SHA256', choices=['SHA256', 'SHA384']) args.add_argument("-X", "--Old_Argv", type = str, dest = "OLD_ARGV", nargs='+', help = "Use old argv config") args = args.parse_args() return args if __name__ == "__main__": args = cmd_handler() print args.output_filename print args.OLD_ARGV
1. -h是argparse帮我们加的,所以只需要写好help的信息就可以了,-v有时候会需要调用函数来打印,只需要返回字符串就可以了。
2. add_argument 表示增加需要解释的参数,-o是简写,一般用一个-; --output_name是全称,dest表示把入参给output_filename,后面就可以用args.output_filename来获取入参了。
3. args.parse_args会解析入参,然后返回一个容器,后面就可以访问了。
很多时候,对于自动化脚本,用入参来配置,会比较麻烦,这意味着要经常改code,改入参。而使用ini来配置程序,会极大方便控制程序的执行,Python中有ConfigParser库可以使用。
import ConfigParser ini_config = None def handler_iniargs(ini_file) global ini_config ini_config = ConfigParser.ConfigParser() ini_config.read(ini_file) output_name = ini_config.get("OUTPUT_CONFIG", "filename") is_secure_mode = ini_config.getboolean("SECURE_CONFIG", "secure") if __name__ == "__main__": handler_iniargs(./config.ini) print ini_config
Inifile示例:
[OUTPUT_CONFIG] filename=myfile.txt [SECURE_CONFIG] secure=True
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。
新闻标题:如何在Python中使用argparse与ConfigParser库-创新互联
当前路径:https://www.cdcxhl.com/article38/hjhpp.html
成都网站建设公司_创新互联,为您提供标签优化、建站公司、小程序开发、用户体验、全网营销推广、品牌网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联