Python基于argparse與ConfigParser庫進(jìn)行入?yún)⒔馕雠cini parser
有時(shí)候?qū)慞ython腳本,需要處理入?yún)-h][-v][-F]...等情況,如果自己來解析的話,會(huì)花費(fèi)很多時(shí)間,而且也容易出問題,好在Python有現(xiàn)成的lib可以使用,就是argparse了,下面我們看看如何使用它。
import argparsedef 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 argsif __name__ == '__main__': args = cmd_handler() print args.output_filename print args.OLD_ARGV
1. -h是argparse幫我們加的,所以只需要寫好help的信息就可以了,-v有時(shí)候會(huì)需要調(diào)用函數(shù)來打印,只需要返回字符串就可以了。
2. add_argument 表示增加需要解釋的參數(shù),-o是簡寫,一般用一個(gè)-; --output_name是全稱,dest表示把入?yún)⒔ooutput_filename,后面就可以用args.output_filename來獲取入?yún)⒘恕?/p>
3. args.parse_args會(huì)解析入?yún)ⅲ缓蠓祷匾粋€(gè)容器,后面就可以訪問了。
二. config解析庫很多時(shí)候,對(duì)于自動(dòng)化腳本,用入?yún)砼渲茫瑫?huì)比較麻煩,這意味著要經(jīng)常改code,改入?yún)ⅰ6褂胕ni來配置程序,會(huì)極大方便控制程序的執(zhí)行,Python中有ConfigParser庫可以使用。
import ConfigParserini_config = Nonedef 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庫進(jìn)行入?yún)⒔馕雠cini parser的詳細(xì)內(nèi)容,更多關(guān)于Python 入?yún)⒔馕雠cini parser的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
