Python基于argparse與ConfigParser庫進行入?yún)⒔馕雠cini parser
有時候?qū)慞ython腳本,需要處理入?yún)-h][-v][-F]...等情況,如果自己來解析的話,會花費很多時間,而且也容易出問題,好在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有時候會需要調(diào)用函數(shù)來打印,只需要返回字符串就可以了。
2. add_argument 表示增加需要解釋的參數(shù),-o是簡寫,一般用一個-; --output_name是全稱,dest表示把入?yún)⒔ooutput_filename,后面就可以用args.output_filename來獲取入?yún)⒘恕?/p>
3. args.parse_args會解析入?yún)ⅲ缓蠓祷匾粋€容器,后面就可以訪問了。
二. config解析庫很多時候,對于自動化腳本,用入?yún)砼渲茫瑫容^麻煩,這意味著要經(jīng)常改code,改入?yún)ⅰ6褂胕ni來配置程序,會極大方便控制程序的執(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庫進行入?yún)⒔馕雠cini parser的詳細內(nèi)容,更多關于Python 入?yún)⒔馕雠cini parser的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. PHP橋接模式Bridge Pattern的優(yōu)點與實現(xiàn)過程3. html中的form不提交(排除)某些input 原創(chuàng)4. jsp文件下載功能實現(xiàn)代碼5. js select支持手動輸入功能實現(xiàn)代碼6. CSS3中Transition屬性詳解以及示例分享7. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼8. 開發(fā)效率翻倍的Web API使用技巧9. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式10. asp.net core項目授權流程詳解
