pythonインタフェース自動化テスト-configparserプロファイル解析器詳細使用

14537 ワード

configparserの概要
  • ConfigParserモジュールはPython 3でconfigparser
  • と名前を変更しました.
  • このモジュールは、ConfigParserクラスを定義する.ConfigParserクラスは基本的なプロファイル解析器言語を実現し、この言語が提供する構造は類似している.iniファイルの構造
  •  
    iniファイルに関する知識
  • キー値ペア使用可能=または:
  • を区切る
  • sectionの名前は大文字と小文字を区別しますが、optionの名前は大文字と小文字を区別しない
  • です.
  • キー値対の中頭部と末尾の空白文字は
  • 削除する.
  • の値は、複数行
  • とすることができる.
  • プロファイルには、コメント、コメントを#または;接頭辞
  • iniファイルの例
    [server]    
    age = 45
    username = yes
    
    # server  section
    # age、username  option

     
    操作iniファイル
    三部作を認める
  • インスタンス化ConfigParserクラス
  • プロファイル
  • を読み込む.
  • 操作プロファイル
  •  
    ベースコード
     1     import configparser
     2 
     3     filename = 'F:/Interface/config/server.ini'
     4     #    configparser
     5     config = configparser.ConfigParser()
     6 
     7     #       
     8     config.read(filename, encoding="utf-8-sig")
     9 
    10     #     option  (      )
    11     config.get(section="server", option="username")

     
    ナレッジポイントを含める
  • プロファイルに中国語がある場合、read()メソッドを呼び出すには、encoding=「utf-8-sig」パラメータ
  • を渡す必要があります.
  • の最も一般的な操作はget(section,option,fallback=「デフォルト値」)であり、あるoptionの値を取得し、もちろんfallbackを渡すこともでき、optionが存在しない場合、fallbackの値
  • を返す.
     
    configparserパッケージクラス
    configparserをより多重化するために,よく用いられる方法をパッケージクラスに書く.
     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 """
     5 __title__  =          
     6 """
     7 
     8 import configparser
     9 
    10 
    11 class ConfigUtil:
    12     #    configparser
    13     config = configparser.ConfigParser()
    14 
    15     def read(self, filename):
    16         """
    17               
    18         :param filename:       
    19         """
    20         self.config.read(filename, encoding="utf-8-sig")
    21 
    22     def get(self, _options, _section='server'):
    23         """
    24             options 
    25         :param _options: option
    26         :param _section: section
    27         """
    28         try:
    29             #
    30             value = self.config.get(section=_section, option=_options, fallback="   ,key        ")
    31 
    32             #
    33             value = self.config[_section][_options]
    34         except Exception as e:
    35             print("      ")
    36             value = None
    37         return value
    38 
    39     def get_options_key_value(self, _section):
    40         """
    41            (name,value)     section     
    42         :param _section:   section
    43         :return: list[tuple(key,value)]
    44         """
    45         return self.config.items(_section)
    46 
    47     def get_all_section(self):
    48         """
    49             section
    50         """
    51         return self.config.sections()
    52 
    53     def get_options_by_section(self, _section):
    54         """
    55           section     options
    56         """
    57         #    
    58         keys = []
    59         for _options in self.config[_section]:
    60             keys.append(_options)
    61 
    62         #    (  )
    63         keys = self.config.options(_section)
    64         return keys
    65 
    66     def assert_section_in_config(self, _section):
    67         """
    68           section    
    69         :param _section:      section
    70         """
    71         return _section in self.config
    72 
    73     def assert_options_in_section(self, _section, _options):
    74         """
    75           options      section 
    76         :param _section:   section
    77         :param _options:      options key 
    78         """
    79         return _options in self.config[_section]
    80 
    81 
    82 configUtil = ConfigUtil()
    83 
    84 if __name__ == '__main__':
    85     filename = 'F:/imocInterface/config/server.ini'
    86     configUtil.read(filename)
    87     print(configUtil.get("username"))
    88     print(configUtil.get_all_section())
    89     print(configUtil.assert_section_in_config("server"))
    90     print(configUtil.get_options_by_section("server"))
    91     print(configUtil.assert_options_in_section("server", "usernsame"))
    92     print(configUtil.get_options_key_value("server"))