GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie setzt man die Umgebungsvariable „http_proxy“ in Python zurück?

Ich verwende den folgenden Python-Code, um die Umgebungsvariable http_proxy zurückzusetzen in Linux CentOS 6, aber es setzt die Variable für den Rest des Python-Skripts nicht zurück.

Code:

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

Ausgabe:

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

Akzeptierte Antwort:

Jeder Aufruf von os.system() läuft in einer eigenen Subshell mit einer eigenen frischen Umgebung:

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

Sie sind Deaktivieren des http_proxy Variable, aber dann hat Ihre Subshell die Ausführung des Befehls abgeschlossen (also:unset ) und endet. Anschließend starten Sie eine neue Subshell mit einer neuen Umgebung, in der echo ausgeführt wird .

Ich glaube, was Sie versuchen, ist del os.environ['http_proxy'] , oder os.environ.pop('http_proxy') wenn Sie sicherstellen möchten, dass kein http_proxy vorhanden ist Umgebungsvariable, ob zuvor eine existierte oder nicht:

$ 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. So setzen und löschen Sie lokale, benutzer- und systemweite Umgebungsvariablen in Linux

  2. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  3. So ändern Sie die Identität eines Linux-Systems

  4. So ändern Sie die PATH-Variable in Linux

  5. Wie setze ich die Umgebungsvariable für alle unter meinem Linux-System?

So setzen/löschen Sie Umgebungsvariablen in Linux

So ändern Sie die Standard-Shell im Linux-System

So setzen und löschen Sie Umgebungsvariablen unter Linux

Linux – Wie installiere ich X11 auf dem eigenen Linux-Buildroot-System?

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie sehe ich das Python-Dokument unter Linux?