Python Yamlファイルの読み込みの仕方

Python Yamlファイルの読み込みの仕方

 

Twitter のAPIをPythonで取得するの続き。

今回は、ベタ書きしていたTwitterのアクセストークンやコンシューマーキーをコンフィグ用のファイルを作成し、そこに移動させて

必要な設定値は、コンフィグから読み込んで処理を行うように改修していきたいと思いますー。

環境変数を設定してみる

プライベートで作業する上では関係ないかもしれないですが、

環境変数を設定してみました。

環境変数を設定してあげることで、それぞれの実行環境に合わせて、コンフィグなどから値を取得できるので、設定した方がベターでしょう。

Pythonの環境変数の設定の仕方は、こんな感じにしてみました。

 10 parser.add_argument(‘-env’)

 

 26 env = args.env

 30 if env is None:

 31     print(“env is not found.”)

 32     sys.exit()

 

環境変数は、コマンドラインの引数から取得するようにしましたー。

Python のnull 判定は、 変数 is None って書くのね。。

あとexit の仕方も学びました。

コンフィグはYaml ファイルに保持するようにした

んで、コンフィグは config.yml という別ファイルに書いて保存。

  1 stg:

  2     consumer_key :”***”

  3     consumer_secret :”***”

  4     access_token_key :”***”

  5     access_token_secret :”***”

先ほど設定した環境変数によって、取得する値を切り替えることができます。

今回はstg という環境変数を用意してみましたー。

で、Python でのYaml ファイルの取得方法はこんな感じ。

 6 import yaml

まずはモジュールをインポートしまして、

26 f = open(‘config.yml’, ‘r+’)                                             

27 data = yaml.load(f)

ファイルオープンして、ロードする感じみたいですね。

これで、コンフィグに設定した値をゲットすることができます。

 29 consumer_key = data[env][‘consumer_key’]                                 

 30 consumer_secret = data[env][‘consumer_secret’]                           

 31 access_token_key = data[env][‘access_token_key’]                         

 32 access_token_secret = data[env][‘access_token_secret’]

file openでYaml ファイルを取得するのはなんかイメージと違ったかな?

もっと簡単に取得する方法があるかもですが、今はとりあえずこれで書いてみました。

まとめ

今回、新規で追加したこと。

・環境変数をコマンドラインの引数からセット

・コンフィグファイルの作成

ちょっと実用的になってきた感じですかね?

勉強もかねて、少しずついじっていきますー