設定ファイルを作る

「設定ファイルを作る」の編集履歴(バックアップ)一覧に戻る

設定ファイルを作る - (2008/04/11 (金) 16:18:32) のソース

ConfigParserというモジュール使うと簡単です。

#code(){{
import ConfigParser

CONFIGFILE = 'setting.ini'

config = ConfigParser.ConfigParser()
if os.path.exists(CONFIGFILE):
	config.read(CONFIGFILE)
	if config.has_section('DB'):
		if config.has_option('DB', "address"):
			HOST = config.get('DB', "address")
		if config.has_option('DB', "port"):
			PORT = config.getint('DB', "port")
		if self.config.has_option('DB', "user"):
			USER = config.get('DB', "user")
		if self.config.has_option('DB', "password"):
			PASSWD = self.config.get('DB', "password")
}}

setting.ini
#code(){{
[DB]
DB_address = 192.168.0.123
DB_port = 3306
DB_user = hajime
DB_password = hogehoge
DB_dbName = db1
}}

で、問題は複雑なファイル構成になってきた場合の設定ファイルの置き場所なんですよね。

ありそうな問題
-py2exe使うのでスクリプトとexeになるとき別のパスに動く可能性あり。
-細かいスクリプト群はまとめて別のフォルダにあり、そちらからも設定ファイルを見たい。
ちなみにこれらのスクリプトはpy2exeによりlibrary.zip内に置かれる・・・つまり相対パスが変わる。


C:/Documents and Settings/User内に放り込むという手も使える。
exeと同じ場所と両方にiniファイルが合った場合、ドキュメント内の方が使われるっぽい(適当検証ですが)


(この話は続くと思われます)
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。