一.入参解析库 argparse
有时候写Python脚本,需要处理入参[-h][-v][-F]...等情况,如果自己来解析的话,会花费很多时间,而且也容易出问题,好在Python有现成的lib可以使用,就是argparse了,下面我们看看如何使用它。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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库可以使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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示例:
1
2
3
4
5
|
[OUTPUT_CONFIG] filename = myfile.txt [SECURE_CONFIG] secure = True |
以上就是Python基于argparse与ConfigParser库进行入参解析与ini parser的详细内容,更多关于Python 入参解析与ini parser的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/smilingsusu/p/14338175.html