ConfigPaser
6350 ワード
オリジナル作品は、転載を許可します.転載する時は必ずハイパーリンク形式で文章の原本の出所、作者の情報と本声明を明示してください.さもなくば法律責任を追及します.http://minren8.blog.51cto.com/2305589/525886
ConfigPaserモジュールは、pythonが持参したプロファイルを読み込むモジュールです.プロファイルを簡単に読み込むことができます.この記事では、プロファイルを読み込む方法を紹介します.プロファイルを設定します.名前の通りに配置されたファイルを保存します.以下の例は[info]age=21 name=chen sex=maleの[]infoは、この構成の名前の下のメッセージです.nameは、プロパティの下のコードです.プロファイルの読み込み方法と、設定中の変数の値を変更するfrom_u_uをデモしました.future_.impot with_statement import ConfigParaser config=ConfigParsser()with open('testcfg.cfg',''rw')as cfgfile: config.readfp(cfgfile) name=config.get(''info',''name') age=config.get(''info',''age') print name print age config.set(''info',''sex',''male') config.set(''info',''age',''21') age=config.get(''info',''age') print name print ageまずは config=ConfigParaser.ConfigParsser()は、コンフィグオブジェクトを構成しています.次はプロファイルcfgfileを開きます.このファイルをreadfp()で読みます.このように構成された内容はconfigオブジェクトの中に入ります.次の問題は、どのように値を読み取りますか?よく使う方法は、get()とgetint()です. configのinfoセグメントのname変数値を読み出すという意味です.
Python Configparserモジュール
2009-10-18
Python/
ConfigPaser–プロファイル解析
このモジュールは、基本的な構成ファイルの解析を実現するConfigPaserクラスを定義しており、配置ファイルはWINDOWSのINIファイル構造と類似している.このクラスを使って最終ユーザーがカスタマイズしやすいPythonプログラムを作成できます.
警告:このライブラリは、INI文法の拡張バージョンであるWindows Registryに対する値タイププレフィックスを含まない.
例えば、[My Section]foodir:%(dir)s/whatever dir=frob
「%(dir)s」は「dir」の値を解析します.ここでは「frob」です.このモジュールには必要な拡張機能が含まれています.
デフォルト値は彼らが辞書としてCofigParaserコンストラクタに伝達することによって知ることができ、またデフォルトでget()に伝達する方法があり、他の方法をカバーする.
Class RawConfigPaser(defaults)の基本的な構成クラスは、defaultsを転送する際に、内蔵辞書に初期化されます.このクラスは知能修復をサポートしていません.2.3バージョンの新しい特徴です.
Class ConfigPaser(defaults)継承のRawConfigParsser類は、スマートな特性を実現し、get()にオプションのパラメータを追加しました.Defaultsの値は「%()s」を埋めることができる必要があります.注意するname_内蔵のdefaultです.この値はセレクションの名前であり、defaultsが提供する任意の値によってカバーされます.
そのため、補填するためのoptionの名前は、他のoptionの名前と同じように、optionxform()によって伝えられます.例えば、optionxform()を使用したデフォルトの実装(option名を小文字に変換)は、「foo%(bar)s」と「foo%(BAR)s」の値が等しいです.
Class SafeConfigParsser(defaults)はConfigParsserに継承され、より多くのスマートな特徴を実現し、より予見性のある新しいアプリケーションを実現しました.このバージョンがより好みです.pythonの古いバージョンの互換性が必要でなければ、2.3バージョンです.
Exception NoSection Errorは、所与のアクションが見つからないときに投げ出します.
Exception DupliccateSection Error add_section()メソッドが呼び出された場合、提供されたsectionパラメータの値が既に存在している場合にドロップします.
Exception NoptionErr指定optionが存在しない時にドロップします.
Exception InterpolationErrが文字列補填を実行する際に投げられた異常なベースクラスです.
Exception InterpolationDepthErrは文字列を埋めるとき、反復回数がMAXを超えています.INTERPOLATIONDEPTH値で投げた異常、InterpolationErrのサブクラス.
Exception InterpolationMissingOptionErrは、option参照の値が存在しないときにドロップします.この異常はInterpolationErrのサブクラスで、2.3バージョンが追加されます.
Expiction InterpolationSyntaxError元のファイルフォーマットが規定の文法を守らなかった場合に投げる異常は、InterpolationErr,2.3バージョンに継承されます.
Exception MissingSection HeaderErrrorは、セレクションヘッダがないファイルを解析しようとしたときに投げ出します.
Exception ParsingErr解析ファイルの時にエラーが発生しました.
MAX_INTERPOLATIONDEPTH get()法は,rawパラメータがfalseである場合に,再帰的な大きな深さに対する.ConfigPaser類のみ適用されます.
RawConfigPaserオブジェクト
RawConfigPaserの例の方法:
defaults()は全例に戻りますので、defaultsです.
セレクション()は有効なセレクションリストを返し、DEFAULTはリストに含まれません.
add_セレクションは例として一つのアクションを追加し、所与のセレクション名が既に存在する場合、DuplicateSection Errorの例外をスローする.
hasセレクションは、所与のセレクション名がプロファイルに存在するかどうかを判断し、DEFAULTセレクションは含まれない.
optionsは、指定されたセレクションの下のすべての利用可能なオプトのリストを返します.
hasoptionが存在する場合は、指定されたoptionを含み、trueに戻り、falseに戻り、1.6バージョンが追加されます.
read(filenames)はファイルリストの解析を試み、解析が成功すればファイルリストに戻ります.filenamesがstringやUnicode stringであれば、単一のファイルで解析します.filenames内のファイルが開けられない場合、ファイルは無視されます.このように設計された目的は、ローカルが配置ファイルのリスト(例えば、現在のフォルダ、ユーザのルートディレクトリ、およびいくつかの全システムディレクトリ)である可能性があることを指定できるので、リストに存在するプロファイルは全部読み込まれます.ファイルが存在しない場合、ConfigParaserのインスタンスには空のデータセットが含まれます.設定ファイルから初期化データを読み出す必要があるアプリケーションは、readfp()方法を使用して必要なファイルをロードし、その後、read()方法を使用して任意の可能なファイルを取得することができる.
readfp(fp[,filename])は、ファイルまたはfp(このオブジェクトを使用するreadline()のようなファイルクラスから構成データを読み出して解析します.filenameが省略されている場合、fpにはname属性があり、この属性はfilenameを取得するために使用されます.デフォルトは「」です.
セレクションの値を取得します.
getint(section,option)は、セレクション下のオプトの値を強制的に指定し、Intタイプとして戻るための便利な方法です.
float(section、option)強制セレクション下のオプト値を、floatタイプとして返す方法.
get bootlean(section、option)強制セレクションにおけるオプトモーション値は、ブールタイプの戻り方法として使用される.なお、許容できるoptionのtrue値は「1」、「yes」、「true」および「on」であり、許容できるfalse値は「0」、「no」、「false」、「off」である.文字列の値は大文字と小文字を検出せず、他の値はValueErrを投げます.
アイテムは所与のセレクションの下にあるので、オプトのペアリストを返します.
set(section、option、value)が与えられたsetionが存在する場合、オプトのために与えられた値を設定します.さもなくばNoSection Errを投げ出すのは異常です.RawConfigParsser(またはConfigParsserのパラメータrawはtrue)を使用して内部に非文字列値を格納することができるので、機能(補填と出力を含む)は文字列値のみを使用してファイリングすることができる.1.6バージョンが追加されました
write(fileobject)は、指定されたファイルクラスに書き込むように構成されています.この表示は後でread()を呼び出して解析でき、1.6バージョンが追加されます.
レモーブオプトモーションは指定されたセレクションから指定されたオプトモーションを削除します.もしセレクションが存在しないなら、NoSection Errorの異常を投げ出します.optionが存在する場合は削除してTrueに戻ります.falseを返します.1.6バージョンが追加されました
レモーブセレクションは、設定ファイルから指定されたセレクションを削除し、セレクションが存在する場合、trueに戻ります.そうでなければfalseに戻ります.
optionxform(option)は、入力ファイルにおいて、またはクライアントコードが転送するoption名を内部構造に変換して使用する形式です.デフォルトでは、戻ってoptionの小文字形式を実現します.サブクラスは、方法またはクライアントコードを書き換えることができ、この方法を例の属性として使用して、その動作に影響を与える.これをstr()に使用します.たとえば、オプトネームの大きさは書き込みに敏感になります.
ConfigPaserオブジェクト
ConfigPaser類はRawConfigParsserのいくつかのインターフェース方法を拡張し、いくつかのオプションパラメータを追加しました.
get(section,option[,raw[,vars]]は、所与のセレクションにおけるオプトの値を取得するため、「%」のプレースホルダは、リターン値において補填され、構造に基づいて伝達されるデフォルト値は、optionのように、varsも提供されます.rawパラメータがtrueでない限り、提供されます.
アイテムは、所与のセレクションの下にあるので、optionのペアリストを返します.オプションパラメータはgetメソッドと同じで、2.3バージョンが追加されます.
SafeConfigPaserオブジェクト
SafeConfigParsser類はConfigParsserと同じインターフェースを実現しました.次の方法が追加されました.
set(section、option、value)が与えられたsectionが存在するなら、optionに値を割り当てます.さもなくばNoSection Errを投げ出すのは異常です.Value値は文字列でなければなりません.そうでない場合は、Type Errer異常をスローし、2.4バージョンが追加されます.
最後にどのように値を設定するかを説明します.set(セグメント名、変数名、値)を使って変数を設定します.config.set(''info'、''age''、''21')はinfoセグメント中のage変数を21に設定することを表します.
この記事は「カタツムリ技術_Light」のブログから出ていますので、ぜひこのソースを残してください.http://minren8.blog.51cto.com/2305589/525886
ConfigPaserモジュールは、pythonが持参したプロファイルを読み込むモジュールです.プロファイルを簡単に読み込むことができます.この記事では、プロファイルを読み込む方法を紹介します.プロファイルを設定します.名前の通りに配置されたファイルを保存します.以下の例は[info]age=21 name=chen sex=maleの[]infoは、この構成の名前の下のメッセージです.nameは、プロパティの下のコードです.プロファイルの読み込み方法と、設定中の変数の値を変更するfrom_u_uをデモしました.future_.impot with_statement import ConfigParaser config=ConfigParsser()with open('testcfg.cfg',''rw')as cfgfile: config.readfp(cfgfile) name=config.get(''info',''name') age=config.get(''info',''age') print name print age config.set(''info',''sex',''male') config.set(''info',''age',''21') age=config.get(''info',''age') print name print ageまずは config=ConfigParaser.ConfigParsser()は、コンフィグオブジェクトを構成しています.次はプロファイルcfgfileを開きます.このファイルをreadfp()で読みます.このように構成された内容はconfigオブジェクトの中に入ります.次の問題は、どのように値を読み取りますか?よく使う方法は、get()とgetint()です. configのinfoセグメントのname変数値を読み出すという意味です.
Python Configparserモジュール
2009-10-18
Python/
ConfigPaser–プロファイル解析
このモジュールは、基本的な構成ファイルの解析を実現するConfigPaserクラスを定義しており、配置ファイルはWINDOWSのINIファイル構造と類似している.このクラスを使って最終ユーザーがカスタマイズしやすいPythonプログラムを作成できます.
警告:このライブラリは、INI文法の拡張バージョンであるWindows Registryに対する値タイププレフィックスを含まない.
例えば、[My Section]foodir:%(dir)s/whatever dir=frob
「%(dir)s」は「dir」の値を解析します.ここでは「frob」です.このモジュールには必要な拡張機能が含まれています.
デフォルト値は彼らが辞書としてCofigParaserコンストラクタに伝達することによって知ることができ、またデフォルトでget()に伝達する方法があり、他の方法をカバーする.
Class RawConfigPaser(defaults)の基本的な構成クラスは、defaultsを転送する際に、内蔵辞書に初期化されます.このクラスは知能修復をサポートしていません.2.3バージョンの新しい特徴です.
Class ConfigPaser(defaults)継承のRawConfigParsser類は、スマートな特性を実現し、get()にオプションのパラメータを追加しました.Defaultsの値は「%()s」を埋めることができる必要があります.注意するname_内蔵のdefaultです.この値はセレクションの名前であり、defaultsが提供する任意の値によってカバーされます.
そのため、補填するためのoptionの名前は、他のoptionの名前と同じように、optionxform()によって伝えられます.例えば、optionxform()を使用したデフォルトの実装(option名を小文字に変換)は、「foo%(bar)s」と「foo%(BAR)s」の値が等しいです.
Class SafeConfigParsser(defaults)はConfigParsserに継承され、より多くのスマートな特徴を実現し、より予見性のある新しいアプリケーションを実現しました.このバージョンがより好みです.pythonの古いバージョンの互換性が必要でなければ、2.3バージョンです.
Exception NoSection Errorは、所与のアクションが見つからないときに投げ出します.
Exception DupliccateSection Error add_section()メソッドが呼び出された場合、提供されたsectionパラメータの値が既に存在している場合にドロップします.
Exception NoptionErr指定optionが存在しない時にドロップします.
Exception InterpolationErrが文字列補填を実行する際に投げられた異常なベースクラスです.
Exception InterpolationDepthErrは文字列を埋めるとき、反復回数がMAXを超えています.INTERPOLATIONDEPTH値で投げた異常、InterpolationErrのサブクラス.
Exception InterpolationMissingOptionErrは、option参照の値が存在しないときにドロップします.この異常はInterpolationErrのサブクラスで、2.3バージョンが追加されます.
Expiction InterpolationSyntaxError元のファイルフォーマットが規定の文法を守らなかった場合に投げる異常は、InterpolationErr,2.3バージョンに継承されます.
Exception MissingSection HeaderErrrorは、セレクションヘッダがないファイルを解析しようとしたときに投げ出します.
Exception ParsingErr解析ファイルの時にエラーが発生しました.
MAX_INTERPOLATIONDEPTH get()法は,rawパラメータがfalseである場合に,再帰的な大きな深さに対する.ConfigPaser類のみ適用されます.
RawConfigPaserオブジェクト
RawConfigPaserの例の方法:
defaults()は全例に戻りますので、defaultsです.
セレクション()は有効なセレクションリストを返し、DEFAULTはリストに含まれません.
add_セレクションは例として一つのアクションを追加し、所与のセレクション名が既に存在する場合、DuplicateSection Errorの例外をスローする.
hasセレクションは、所与のセレクション名がプロファイルに存在するかどうかを判断し、DEFAULTセレクションは含まれない.
optionsは、指定されたセレクションの下のすべての利用可能なオプトのリストを返します.
hasoptionが存在する場合は、指定されたoptionを含み、trueに戻り、falseに戻り、1.6バージョンが追加されます.
read(filenames)はファイルリストの解析を試み、解析が成功すればファイルリストに戻ります.filenamesがstringやUnicode stringであれば、単一のファイルで解析します.filenames内のファイルが開けられない場合、ファイルは無視されます.このように設計された目的は、ローカルが配置ファイルのリスト(例えば、現在のフォルダ、ユーザのルートディレクトリ、およびいくつかの全システムディレクトリ)である可能性があることを指定できるので、リストに存在するプロファイルは全部読み込まれます.ファイルが存在しない場合、ConfigParaserのインスタンスには空のデータセットが含まれます.設定ファイルから初期化データを読み出す必要があるアプリケーションは、readfp()方法を使用して必要なファイルをロードし、その後、read()方法を使用して任意の可能なファイルを取得することができる.
import ConfigParser, os
config = ConfigParser.ConfigParser()
config.readfp(open('defaults.cfg'))
config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')])
2.4バージョンの後、解析に成功したファイルのリストを返します.readfp(fp[,filename])は、ファイルまたはfp(このオブジェクトを使用するreadline()のようなファイルクラスから構成データを読み出して解析します.filenameが省略されている場合、fpにはname属性があり、この属性はfilenameを取得するために使用されます.デフォルトは「」です.
セレクションの値を取得します.
getint(section,option)は、セレクション下のオプトの値を強制的に指定し、Intタイプとして戻るための便利な方法です.
float(section、option)強制セレクション下のオプト値を、floatタイプとして返す方法.
get bootlean(section、option)強制セレクションにおけるオプトモーション値は、ブールタイプの戻り方法として使用される.なお、許容できるoptionのtrue値は「1」、「yes」、「true」および「on」であり、許容できるfalse値は「0」、「no」、「false」、「off」である.文字列の値は大文字と小文字を検出せず、他の値はValueErrを投げます.
アイテムは所与のセレクションの下にあるので、オプトのペアリストを返します.
set(section、option、value)が与えられたsetionが存在する場合、オプトのために与えられた値を設定します.さもなくばNoSection Errを投げ出すのは異常です.RawConfigParsser(またはConfigParsserのパラメータrawはtrue)を使用して内部に非文字列値を格納することができるので、機能(補填と出力を含む)は文字列値のみを使用してファイリングすることができる.1.6バージョンが追加されました
write(fileobject)は、指定されたファイルクラスに書き込むように構成されています.この表示は後でread()を呼び出して解析でき、1.6バージョンが追加されます.
レモーブオプトモーションは指定されたセレクションから指定されたオプトモーションを削除します.もしセレクションが存在しないなら、NoSection Errorの異常を投げ出します.optionが存在する場合は削除してTrueに戻ります.falseを返します.1.6バージョンが追加されました
レモーブセレクションは、設定ファイルから指定されたセレクションを削除し、セレクションが存在する場合、trueに戻ります.そうでなければfalseに戻ります.
optionxform(option)は、入力ファイルにおいて、またはクライアントコードが転送するoption名を内部構造に変換して使用する形式です.デフォルトでは、戻ってoptionの小文字形式を実現します.サブクラスは、方法またはクライアントコードを書き換えることができ、この方法を例の属性として使用して、その動作に影響を与える.これをstr()に使用します.たとえば、オプトネームの大きさは書き込みに敏感になります.
ConfigPaserオブジェクト
ConfigPaser類はRawConfigParsserのいくつかのインターフェース方法を拡張し、いくつかのオプションパラメータを追加しました.
get(section,option[,raw[,vars]]は、所与のセレクションにおけるオプトの値を取得するため、「%」のプレースホルダは、リターン値において補填され、構造に基づいて伝達されるデフォルト値は、optionのように、varsも提供されます.rawパラメータがtrueでない限り、提供されます.
アイテムは、所与のセレクションの下にあるので、optionのペアリストを返します.オプションパラメータはgetメソッドと同じで、2.3バージョンが追加されます.
SafeConfigPaserオブジェクト
SafeConfigParsser類はConfigParsserと同じインターフェースを実現しました.次の方法が追加されました.
set(section、option、value)が与えられたsectionが存在するなら、optionに値を割り当てます.さもなくばNoSection Errを投げ出すのは異常です.Value値は文字列でなければなりません.そうでない場合は、Type Errer異常をスローし、2.4バージョンが追加されます.
最後にどのように値を設定するかを説明します.set(セグメント名、変数名、値)を使って変数を設定します.config.set(''info'、''age''、''21')はinfoセグメント中のage変数を21に設定することを表します.
この記事は「カタツムリ技術_Light」のブログから出ていますので、ぜひこのソースを残してください.http://minren8.blog.51cto.com/2305589/525886