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中的is和id用法分析
Jan 26 Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 Python
深入理解python中的闭包和装饰器
Jun 12 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
python实现读Excel写入.txt的方法
Apr 29 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
python 动态绘制爱心的示例
Sep 27 Python
pytorch常用数据类型所占字节数对照表一览
May 17 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 curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue项目中添加单元测试的方法
2018/07/21 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
python提取图像的名字*.jpg到txt文本的方法
2018/05/10 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
JBL英国官网:JBL UK
2018/07/04 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
党校培训思想汇报
2013/12/30 职场文书
死亡证明书样本说明
2014/10/18 职场文书
商铺门面租房协议书
2014/10/21 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
清洁员岗位职责
2015/02/15 职场文书
十月围城观后感
2015/06/08 职场文书
周一问候语大全
2015/11/10 职场文书
严以律己学习心得体会
2016/01/13 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书