Python基于argparse與ConfigParser庫進行入?yún)⒔馕雠cini parser
有時候寫Python腳本,需要處理入?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有時候會需要調用函數(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)?。而使用ini來配置程序,會極大方便控制程序的執(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的詳細內容,更多關于Python 入?yún)⒔馕雠cini parser的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章:
1. React+umi+typeScript創(chuàng)建項目的過程2. .Net core 的熱插拔機制的深入探索及卸載問題求救指南3. ASP調用WebService轉化成JSON數(shù)據(jù),附json.min.asp4. SharePoint Server 2019新特性介紹5. 三個不常見的 HTML5 實用新特性簡介6. 解決ASP中http狀態(tài)跳轉返回錯誤頁的問題7. ASP中常用的22個FSO文件操作函數(shù)整理8. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析10. ASP編碼必備的8條原則
