J'ai essayé ceci:
os.environ['MyVar']
Mais cela n'a pas fonctionné! Existe-t-il un moyen adapté à tous les systèmes d'exploitation?
Essayez d'utiliser ce qui suit:
os.getenv('MyVar')
De la documentation :
os.getenv (nomvar [ valeur])
Renvoie la valeur de la variable d'environnement varname si elle existe, ou la valeur si ce n'est pas le cas. La valeur par défaut est Aucune.
Disponibilité: la plupart des versions d'Unix, Windows
Donc après l'avoir testé:
>>> import os
>>> os.environ['MyVar'] = 'Hello World!' # set the environment variable 'MyVar' to contain 'Hello World!'
>>> print os.getenv('MyVar')
Hello World!
>>> print os.getenv('not_existing_variable')
None
>>> print os.getenv('not_existing_variable', 'that variable does not exist')
that variable does not exist
>>> print os.environ['MyVar']
Hello World!
>>> print os.environ['not_existing_variable']
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/UserDict.py", line 17, in __getitem__
def __getitem__(self, key): return self.data[key]
KeyError: 'not_existing_variable
Votre méthode fonctionnerait aussi si la variable environnementale existait. La différence avec os.getenv
est qu'il renvoie None
(ou la valeur donnée), alors que os.environ['MyValue']
donne une exception KeyError lorsque la variable n'existe pas.
os.getenv('PATH')
Vous pouvez le tester avec la ligne de code ci-dessus. Il listera tous les chemins qui sont définis.
Vous devrez peut-être redémarrer Windows pour pouvoir lire la variable d'environnement que vous avez définie via le panneau de configuration.