volumineuse - variable d'environnement python




Comment accéder aux variables d'environnement à partir de Python? (7)

Actualy peut être ceci:

import os

for item, value in os.environ.items():
    print('{}: {}'.format(item, value))

Ou simplement:

for i, j in os.environ.items():
    print(i, j)

pour voir la valeur dans le paramètre:

print(os.environ['HOME'])

ou

print(os.environ.get('HOME')

pour définir la valeur:

os.environ['HOME'] = '/new/value'

Je définis une variable d'environnement à laquelle je veux accéder dans mon application Python. Comment puis-je obtenir cette valeur?


Comme pour les variables d'environnement:

import os
print os.environ["HOME"]

Je crains que vous deviez étoffer votre deuxième point un peu plus avant qu'une réponse décente soit possible.


La question initiale (première partie) était "comment vérifier les variables d'environnement en Python".

Voici comment vérifier si $ FOO est défini:

try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)

Les variables d'environnement sont accessibles via os.environ

import os
print(os.environ['HOME'])

Ou vous pouvez voir une liste de toutes les variables d'environnement en utilisant:

os.environ

Comme parfois vous pourriez avoir besoin de voir une liste complète!

# 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))

L'installation par défaut de Python sur Windows est C:\Python . Si vous voulez savoir quand vous utilisez Python, vous pouvez faire:

import sys
print(sys.prefix)

Si vous envisagez d'utiliser le code dans un code d'application Web de production,
en utilisant n'importe quel framework web comme Django / Flask, utilisez des projets comme envparse , en l'utilisant vous pouvez lire la valeur en tant que votre type défini.

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)

NOTE: autoenv de autoenv est un outil recommandé pour faire des variables d'environnement spécifiques au projet, veuillez noter que ceux qui utilisent autoenv gardent le fichier .env privé (inaccessible au public)


Voici une option d'une ligne en supposant que l' importation a été effectuée:

for key in os.environ: print(key,':',os.environ[key])

ou avec le formatage:

for key in os.environ: print('{:>30} {:<4} {:}'.format(key,':',os.environ[key]))

import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

Cela imprimera toutes les variables d'environnement avec leurs valeurs.







environment-variables