Python基於argparse與ConfigParser庫進行入參解析與ini parser

一.入參解析庫 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的資料請關註WalkonNet其它相關文章!

推薦閱讀: