回答:
環境変数はos.environを通じてアクセスされます
import os
print(os.environ['HOME'])
または、以下を使用してすべての環境変数のリストを表示できます。
os.environ
時々あなたは完全なリストを見る必要があるかもしれません!
# using get will return `None` if a key is not present rather than raise a `KeyError`
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))
# os.getenv is equivalent, and can also give a default value instead of `None`
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))
WindowsでのPythonのデフォルトのインストールはC:\Python
です。Pythonの実行中に調べたい場合は、次のようにできます。
import sys
print(sys.prefix)
.get()
デフォルトを指定することもできます。
キーが存在するかどうかを確認するには(戻り値True
またはFalse
)
'HOME' in os.environ
get()
キーを印刷するときにも使用できます。デフォルトを使用する場合に便利です。
print(os.environ.get('HOME', '/home/username/'))
/home/username/
デフォルトはどこですか
"HOME" in os.environ
またはos.environ.get('HOME')
?
"HOME" in os.environ
vs os.environ.get('HOME') is None
です。最初に見たように、作業がはるかに読みやすく快適です。
元の質問(前半)は、「Pythonで環境変数を確認する方法」でした。
$ FOOが設定されているかどうかを確認する方法は次のとおりです。
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
"if 'FOO' not in os.environ: ..."
ブロックよりも可読性が低いように見えます
以下を使用して環境変数にアクセスできます
import os
print os.environ
PYTHONPATHまたはPYTHONHOME環境変数の内容を確認してください。これは2番目の質問に役立つでしょう。ただし、それを明確にする必要があります。
実際には、これは離れて行うことができます:
import os
for item, value in os.environ.items():
print('{}: {}'.format(item, value))
または単に:
for i, j in os.environ.items():
print(i, j)
パラメータの値を表示するには:
print(os.environ['HOME'])
または:
print(os.environ.get('HOME')
値を設定するには:
os.environ['HOME'] = '/new/value'
str.format
単なるファンシーな追加です。
>>> import os, pprint; pprint.pprint(list(os.environ.items()))
Django / Flaskなどの任意のWebフレームワークを使用して、本番環境のWebアプリケーションコードでコードを使用する場合は、envparseなどのプロジェクトを使用します。これを使用すると、定義した型として値を読み取ることができます。
from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)
注:kennethreitzのautoenvは、プロジェクト固有の環境変数を作成するための推奨ツールです。使用している人はautoenv
、.env
ファイルを非公開にしてください(一般からはアクセスできません)。
djangoについては(https://github.com/joke2k/django-environ)を参照してください
$ pip install django-environ
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()
# False if not in os.environ
DEBUG = env('DEBUG')
# Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')
これも試すことができます
まず、インストール python-decouple
pip install python-decouple
ファイルにインポートします
from decouple import config
次に、環境変数を取得します
SECRET_KEY=config('SECRET_KEY')
Pythonライブラリの詳細については、こちらをご覧ください