投稿日:
2019年1月23日
最終更新日:
【小技】Python3で環境変数に定義した値を配列化して使う方法【split関数で文字列分割】
YouTubeも見てね♪
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
環境変数に配列を定義したい
配列定義は不可能
データベースを持たないミニマムなスクリプトやアプリを開発していると、変更する可能性のある値はアプリ内に持つより、環境変数やファイルなどに定義をして読み込む形で利用する方法が保守性も高く多く使われている手法だと思います。
しかし、環境変数には文字列や数値しか定義することは出来ないため配列形式で定義することは出来ません。
また、AWS Lambdaでは環境変数を定義することが出来るのですが配列要素も定義したい。。。。!と言うケースも少なく無いと思います。
では、諦めるしか無いのでしょうか?
実は、少し工夫をするだけで同じようなことを実現する事が出来ます。
区切り文字を含めた値を定義
それは、区切り文字を含んだ文字列を定義しておき、システム側で環境変数を取得後に、その区切り文字を利用して配列化を行う、という方法です。
これであれば、区切り文字さえしっかりとルール化しておけば環境変数で配列要素を管理することが可能になります。
今回はPython3を用いて環境変数に定義した値から配列要素にするテクニックをご紹介致します。
手順
前提
環境変数には以下のような定義がされていることとします。
今回は扱いやすいようにexport SAMPLE_ARRAY=a,b,c
のように「,
」区切りにしています。
1 |
a,b,c
|
split関数で配列化
やり方はとても簡単です。
以下のように取得した文字列をsplit
関数を使って区切り文字で配列化すれば良いです!
1
2
3
4
5
6
7
|
import os
env_var = os.getenv("SAMPLE_ARRAY").split(',')
print(f"env_var:{env_var}")
for env in env_var:
print(f"env:{env}")
|
確認
では、実際に試してみましょう。
1
2
3
4
|
env_var:['a', 'b', 'c']
env:a
env:b
env:c
|
期待通りに配列化する事が出来ましたね♪
終わりに
以上のように、簡単に環境変数を配列化する事が出来ました。
環境変数自体には配列定義を出来ませんが、ちょっとしたテクニックで同じような定義を行う事が出来るので、是非試してみてください♪