ページへ戻る
印刷
Python/設定ファイルの読み込み
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/設定ファイルの読み込み をテンプレートにして作成
開始行:
*導入
Pythonでプログラムしていると、数個程度のパラメーターなら...
自前でフォーマットを作っても良いのですが、ちょっとした書...
ここではPythonにデフォルトで入っている設定ファイル読み込...
*設定ファイルの準備
以下のような設定ファイル「test.setting」を読み込むとしま...
#設定ファイル
[numbers]
setting_number_1 = 123
setting_number_2 = 99.999
[strings]
setting_str_1 = string1
setting_str_2 = 文字列2
[other]
setting_bool = true
「#」で始まる行はコメントとして無視されます。
「[]」で囲まれた部分はセクション名で、ないとエラーとなり...
空白などは自由に入れることができます。
文字列に引用符は必要なく、空白があっても右辺全てが出力さ...
真偽型は「True」「true」「False」「false」、「1」(Trueの...
*値の読み込み
このファイルの「numbers」セクションの「setting_number_1」...
import ConfigParser
settingFile = ConfigParser.SafeConfigParser()
settingFile.read("test.setting")
settingNumber1 = settingFile.get("numbers","setting_numb...
print settingNumber1
print type(settingNumber1)
ConfigParserには「RawConfigParser」、「ConfigParser」、「...
この実行結果は、
123
<type 'str'>
となります。getを使うとstr型で返されます。
**数値の読み込み
intやfloatで結果を取りたいときには以下のように専用のメソ...
settingNumber1 = settingFile.getint("numbers","setting_n...
print settingNumber1
print type(settingNumber1)
settingNumber2 = settingFile.getfloat("numbers","setting...
print settingNumber2
print type(settingNumber2)
結果
123
<type 'int'>
99.999
<type 'float'>
型が決まっている場合にはこちらの方が便利です。
だだし、書式がintやfloatと解釈できない物だとエラーになり...
読み込んでからその内容によって型を決めるような場合にはget...
**文字列の読み込み
文字列の場合はすでに紹介したようにgetで読み込みます。
settingStr1 = settingFile.get("strings","setting_str_1")
print settingStr1
print type(settingStr1)
settingStr2 = settingFile.get("strings","setting_str_2")
print settingStr2
print type(settingStr2)
結果
string1
<type 'str'>
文字列2
<type 'str'>
となります。
このとき日本語などを利用するなら、設定ファイルをUTF8にし...
[[Python]] ver2系のstrからunicode型への変換は「[[Python/U...
settingStr2 = settingFile.get("strings","setting_str_2")
settingStr2Utf = settingStr2.decode("utf_8")
print settingStr2Utf
print type(settingStr2Utf)
結果
文字列2
<type 'unicode'>
**真偽型の読み込み
真偽値の読み込みはgetbooleanを使います。
settingBool = settingFile.getboolean("other","setting_bo...
print settingBool
print type(settingBool)
結果
True
<type 'bool'>
**デフォルト値の指定
値が設定ファイルに存在しないときのために、デフォルト値を...
例えば、
settingFile = ConfigParser.SafeConfigParser({"setting_st...
のように初期化すると、
settingStr3 = settingFile.get("strings","setting_str_3")
print settingStr3
結果
no setting
となります。
*まとめ
ConfigParserを使うと、str、int、float、bool型を簡単に読み...
ちょっとした設定ファイルが必要な時には重宝します。またこ...
終了行:
*導入
Pythonでプログラムしていると、数個程度のパラメーターなら...
自前でフォーマットを作っても良いのですが、ちょっとした書...
ここではPythonにデフォルトで入っている設定ファイル読み込...
*設定ファイルの準備
以下のような設定ファイル「test.setting」を読み込むとしま...
#設定ファイル
[numbers]
setting_number_1 = 123
setting_number_2 = 99.999
[strings]
setting_str_1 = string1
setting_str_2 = 文字列2
[other]
setting_bool = true
「#」で始まる行はコメントとして無視されます。
「[]」で囲まれた部分はセクション名で、ないとエラーとなり...
空白などは自由に入れることができます。
文字列に引用符は必要なく、空白があっても右辺全てが出力さ...
真偽型は「True」「true」「False」「false」、「1」(Trueの...
*値の読み込み
このファイルの「numbers」セクションの「setting_number_1」...
import ConfigParser
settingFile = ConfigParser.SafeConfigParser()
settingFile.read("test.setting")
settingNumber1 = settingFile.get("numbers","setting_numb...
print settingNumber1
print type(settingNumber1)
ConfigParserには「RawConfigParser」、「ConfigParser」、「...
この実行結果は、
123
<type 'str'>
となります。getを使うとstr型で返されます。
**数値の読み込み
intやfloatで結果を取りたいときには以下のように専用のメソ...
settingNumber1 = settingFile.getint("numbers","setting_n...
print settingNumber1
print type(settingNumber1)
settingNumber2 = settingFile.getfloat("numbers","setting...
print settingNumber2
print type(settingNumber2)
結果
123
<type 'int'>
99.999
<type 'float'>
型が決まっている場合にはこちらの方が便利です。
だだし、書式がintやfloatと解釈できない物だとエラーになり...
読み込んでからその内容によって型を決めるような場合にはget...
**文字列の読み込み
文字列の場合はすでに紹介したようにgetで読み込みます。
settingStr1 = settingFile.get("strings","setting_str_1")
print settingStr1
print type(settingStr1)
settingStr2 = settingFile.get("strings","setting_str_2")
print settingStr2
print type(settingStr2)
結果
string1
<type 'str'>
文字列2
<type 'str'>
となります。
このとき日本語などを利用するなら、設定ファイルをUTF8にし...
[[Python]] ver2系のstrからunicode型への変換は「[[Python/U...
settingStr2 = settingFile.get("strings","setting_str_2")
settingStr2Utf = settingStr2.decode("utf_8")
print settingStr2Utf
print type(settingStr2Utf)
結果
文字列2
<type 'unicode'>
**真偽型の読み込み
真偽値の読み込みはgetbooleanを使います。
settingBool = settingFile.getboolean("other","setting_bo...
print settingBool
print type(settingBool)
結果
True
<type 'bool'>
**デフォルト値の指定
値が設定ファイルに存在しないときのために、デフォルト値を...
例えば、
settingFile = ConfigParser.SafeConfigParser({"setting_st...
のように初期化すると、
settingStr3 = settingFile.get("strings","setting_str_3")
print settingStr3
結果
no setting
となります。
*まとめ
ConfigParserを使うと、str、int、float、bool型を簡単に読み...
ちょっとした設定ファイルが必要な時には重宝します。またこ...
ページ名: