pythonのプログラムの設定ファイルを分ける

githubに登録したのでソースをあげようと思ったのだけど、コンシューマーキーとか見られたくないものがソースに入っているのでそのままではあげられない。ということで設定ファイルを分ける。

pythonでは通常何を使ってどうやれば良いのか知らないのでググってみた。

  • ConfigParserという標準ライブラリを使えばini形式のファイルを読み書きできる。
  • jsonの読み書きは2.6なら標準でjsonというライブラリが使える
  • yamlはどうも標準ライブラリではないっぽい

ファイルからの読み込みや書き込みも簡単にできるみたいなので、ConfigParserを使ってみるか。

設定ファイルをこんな感じで用意して

[tweeetonly]
consumer_key = *************
consumer_secret = *************
access_token = *************
access_token_secret = *************

こんな感じで読み込む。

from ConfigParser import SafeConfigParser as ConfigParser

# read config
config = ConfigParser()
config.read('.tweeetonly')
CONSUMER_KEY        = config.get('tweeetonly', 'consumer_key')
CONSUMER_SECRET     = config.get('tweeetonly', 'consumer_secret')
ACCESS_TOKEN        = config.get('tweeetonly', 'access_token')
ACCESS_TOKEN_SECRET = config.get('tweeetonly', 'access_token_secret')

これで公開したくないキーなんかは設定ファイルに分離できた。(のでtweeetonlyのソースコードをgithubにあげられる)