GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment supprimer la variable d'environnement "http_proxy" en Python ?

J'utilise le code python ci-dessous pour réinitialiser la variable d'environnement http_proxy sous Linux CentOS 6, mais il ne supprime pas la variable pour le reste du script Python.

Code :

 import os 
 print "Unsetting http..." 
 os.system("unset http_proxy") 
 os.system("echo $http_proxy") 
 print "http is reset"

Sortie :

Unsetting http...
http://web-proxy.xxxx.xxxxxxx.net:8080
http is reset
Process finished with exit code 0

Réponse acceptée :

Chaque invocation de os.system() s'exécute dans son propre sous-shell, avec son propre environnement :

>>> import os
>>> os.system("echo $$")
97678
0
>>> os.system("echo $$")
97679
0

Vous êtes désactiver le http_proxy variable, mais votre sous-shell a terminé l'exécution de la commande (à savoir :unset ) et se termine. Vous démarrez ensuite un nouveau sous-shell avec un nouvel environnement dans lequel exécuter echo .

Je crois que ce que vous essayez de faire est del os.environ['http_proxy'] , ou os.environ.pop('http_proxy') si vous voulez vous assurer qu'il n'y a pas de http_proxy variable d'environnement, qu'elle ait existé ou non :

$ export foo=bar
$ python2
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['foo']
'bar'
>>> del os.environ['foo']
>>> os.system('echo $foo')

0

Linux
  1. Comment installer Python sur Linux

  2. Comment définir et supprimer des variables d'environnement locales, utilisateur et système sous Linux

  3. Variables d'environnement Linux :comment lire et définir sur un VPS Linux

  4. Comment changer la langue de mon git?

  5. Deux versions de python sous Linux. comment faire de 2.7 la valeur par défaut

Comment définir/annuler les variables d'environnement sous Linux

Comment changer le shell par défaut dans le système Linux

Comment définir et supprimer des variables d'environnement sous Linux

Linux - Comment installer X11 sur le propre système Linux Buildroot ?

Comment utiliser la commande fd sur le système Linux

Comment puis-je voir la documentation Python sur Linux ?