Python基于argparse与ConfigParser库进行入参解析与ini parser


Posted in Python onFebruary 02, 2021

一.入参解析库 argparse

有时候写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会解析入参,然后返回一个容器,后面就可以访问了。

二. config解析库

很多时候,对于自动化脚本,用入参来配置,会比较麻烦,这意味着要经常改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库进行入参解析与ini parser的详细内容,更多关于Python 入参解析与ini parser的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
使用Python生成url短链接的方法
May 04 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
TensorBoard 计算图的查看方式
Feb 15 Python
Python实现画图软件功能方法详解
Jul 28 Python
Django-silk性能测试工具安装及使用解析
Nov 28 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python反编译教程之2048小游戏实例
Mar 03 Python
python析构函数用法及注意事项
Jun 22 Python
python中子类与父类的关系基础知识点
Feb 02 #Python
python中time包实例详解
Feb 02 #Python
python+playwright微软自动化工具的使用
Feb 02 #Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 #Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
Feb 02 #Python
python3.9.1环境安装的方法(图文)
Feb 02 #Python
M1芯片安装python3.9.1的实现
Feb 02 #Python
You might like
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
python中bisect模块用法实例
2014/09/25 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
大学生预备党员自我评价分享
2013/11/16 职场文书
会计专业自荐信
2013/12/02 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
办公室日常管理制度
2015/08/04 职场文书
学校标语口号大全
2015/12/26 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
PHP基本语法
2021/03/31 PHP
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
python中print格式化输出的问题
2021/04/16 Python
Golang入门之计时器
2022/05/04 Golang