📌
Pythonで環境変数の取り扱いの自分なりのベストプラクティス
まえがき
Pythonで環境変数を取り扱うことがよくあるが、自分なりによく使っていてベストプラクティスな方法があるため、残しておく
早速実装方法
TwitterのAPIを活用したときの実装で使用した方法を記載する。
まずは、.envに定数を定義する。
.env
API_KEY=*****
API_KEY_SECRET=*****
ACCESS_TOKEN=*****
ACCESS_TOKEN_SECRET=*****
TwitterAPIに必要な定数を定義して値をセットしておく。
次にconfig.pyを作り、dotenvというライブラリを使い、load_dotenv()を実行して、先ほどの.envに定義した定数を読み込む。
config.py
from dotenv import load_dotenv
import os
load_dotenv()
API_KEY=os.getenv('API_KEY')
API_KEY_SECRET=os.getenv('API_KEY_SECRET')
ACCESS_TOKEN=os.getenv('ACCESS_TOKEN')
ACCESS_TOKEN_SECRET=os.getenv('ACCESS_TOKEN_SECRET')
config.py
from dotenv import load_dotenv
import os
load_dotenv()
API_KEY=os.getenv('API_KEY')
API_KEY_SECRET=os.getenv('API_KEY_SECRET')
ACCESS_TOKEN=os.getenv('ACCESS_TOKEN')
ACCESS_TOKEN_SECRET=os.getenv('ACCESS_TOKEN_SECRET')
使用したい処理で、configを読み込むと、例えばconfig.API_KEYといった形で定数が読み込める。
TwitterAPIでツイートするときのコードは以下となる。
postTweet.py
import config
import tweepy
# configで設定した値を取得する
CONSUMER_KEY = config.API_KEY
CONSUMER_SECRET = config.API_KEY_SECRET
ACCESS_TOKEN = config.ACCESS_TOKEN
ACCESS_SECRET = config.ACCESS_TOKEN_SECRET
# clientオブジェクト作成
client = tweepy.Client(
consumer_key=CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET,
access_token=ACCESS_TOKEN,
access_token_secret=ACCESS_SECRET
)
# ツイートする
client.create_tweet(text='test')
以上
Discussion