素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2019年1月23日
最終更新日:

【小技】Python3で環境変数に定義した値を配列化して使う方法【split関数で文字列分割】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥7,180 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

環境変数に配列を定義したい

配列定義は不可能

データベースを持たないミニマムなスクリプトやアプリを開発していると、変更する可能性のある値はアプリ内に持つより、環境変数やファイルなどに定義をして読み込む形で利用する方法が保守性も高く多く使われている手法だと思います。

しかし、環境変数には文字列や数値しか定義することは出来ないため配列形式で定義することは出来ません。

また、AWS Lambdaでは環境変数を定義することが出来るのですが配列要素も定義したい。。。。!と言うケースも少なく無いと思います。

では、諦めるしか無いのでしょうか?

実は、少し工夫をするだけで同じようなことを実現する事が出来ます。

区切り文字を含めた値を定義

それは、区切り文字を含んだ文字列を定義しておき、システム側で環境変数を取得後に、その区切り文字を利用して配列化を行う、という方法です。

これであれば、区切り文字さえしっかりとルール化しておけば環境変数で配列要素を管理することが可能になります。

今回はPython3を用いて環境変数に定義した値から配列要素にするテクニックをご紹介致します。

手順

前提

環境変数には以下のような定義がされていることとします。
今回は扱いやすいようにexport SAMPLE_ARRAY=a,b,cのように「,」区切りにしています。

split関数で配列化

やり方はとても簡単です。

以下のように取得した文字列をsplit関数を使って区切り文字で配列化すれば良いです!

確認

では、実際に試してみましょう。

期待通りに配列化する事が出来ましたね♪

終わりに

以上のように、簡単に環境変数を配列化する事が出来ました。

環境変数自体には配列定義を出来ませんが、ちょっとしたテクニックで同じような定義を行う事が出来るので、是非試してみてください♪

CATEGORIES & TAGS

IT