Pythonでos.environを使用し環境変数の値を取得し表示する

スポンサーリンク

Pythonでos.environを使用し環境変数の値を取得し表示してみます。

os.environはPythonのosモジュールに含まれており、環境変数にアクセスするための手段を提供しています。なお、osモジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認)

■os.environを使用し環境変数の値を取得し表示する

では、早速os.environを使用し環境変数の値を取得し表示させるスクリプトを書いていきます。

■コード

import os

def main():
    # 特定の環境変数の値を取得する例
    username = os.environ.get('USERNAME')
    print(f"ユーザー名: {username}")

    # 存在しない環境変数を取得する例 (デフォルト値を指定)
    unknown_var = os.environ.get('UNKNOWN_VARIABLE', '値が設定されていません')
    print(f"未知の変数: {unknown_var}")

    # 環境変数の一覧を表示する例
    print("\n環境変数の一覧:")
    for key, value in os.environ.items():
        print(f"{key}: {value}")

if __name__ == "__main__":
    main()

まずは、Pythonのosモジュールをインポートしています。osモジュールは、オペレーティングシステムとのインタラクションを提供するためのモジュールであり、ファイルシステム操作やプロセスの制御、環境変数へのアクセスなどが含まれています。

次にdef文を用いてmain()という関数を定義しています。この関数はプログラムのエントリーポイントとして機能し、プログラムの実行時に最初に呼び出されます。関数内では、username = os.environ.get(‘USERNAME’)と記述し、os.environを使用して、USERNAMEという環境変数の値を取得しています。os.environは辞書のように振る舞い、環境変数名をキーとして、対応する値を取得することができます。そして、print(f”ユーザー名: {username}”)と記述し、print()関数を用いて取得したユーザー名を表示します。

次に、unknown_var = os.environ.get(‘UNKNOWN_VARIABLE’, ‘値が設定されていません’)と記述し、存在しない環境変数を定義します。’UNKNOWN_VARIABLE’を取得しようとしますが、存在しない場合はデフォルト値として’値が設定されていません’を返します。これにより、プログラムがクラッシュせずに処理を継続できます。そして、print(f”未知の変数: {unknown_var}”)と記述し、print()関数を用いて存在しない環境変数の値またはデフォルト値を表示します。

さらに、print(“\n環境変数の一覧:”)と記述し、一覧表示の前に改行を挿入します。

次に、for key, value in os.environ.items():と記述し、os.environのitems()関数を使って、すべての環境変数とその値のペアに対してループを実行します。実行後、さらにprint(f”{key}: {value}”)と記述し、print()関数を用いて環境変数名とその値を表示します。

最後にif __name__ == “__main__”:と記述します。この条件は、このPythonファイルが直接実行された場合にのみ`main()`関数が呼び出されることを意味します。これは一般的なPythonのモジュールの書き方で、他のモジュールからインポートされた場合にはmain()関数が自動的に実行されないようにするための仕組みです。

注意点として、os.environを使用して取得する環境変数は、プラットフォームや実行環境によって異なる場合があるため、必ず存在を確認してから取得することが重要です。

■実行・検証

このスクリプトを「o_e.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、os.environを使用し環境変数の値を取得し、取得した環境変数の値を表示させることができました。

コメント

タイトルとURLをコピーしました