Umgebungsvariablen mit shell-script setzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
frausch
User
Beiträge: 3
Registriert: Dienstag 22. Juli 2008, 09:38

Dienstag 22. Juli 2008, 09:55

Hallo,

also kurz gesagt, ich suche das python-Equivalent zu 'source ini_something".

Also das python-Script sollte ein shell-Script aufrufen, das Umgebungsvariablen setzt, die dann für das laufende python-script gültig sind.

Ist so etwas möglich?

Viele Grüße

Euer frausch
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Dienstag 22. Juli 2008, 11:00

source setzt keine Umgebungsvariablen, sondern führt Befehle aus einer Datei in der aktuellen Shell-Umgebung aus, was bei Python dann execfile wäre. Allerdings finde ich das nicht besonders schön. Wenn es um eine Konfiguration gehen soll, würde ich eher [mod]ConfigParser[/mod] oder ConfigObj benutzen.
Solltest du nur Umgebungsvariablen setzen wollen, ginge das, indem du os.environ veränderst.

Edit: Lesen sollte man natürlich können. Bei einem Shellscript gibt ``execfile`` natürlich wenig Sinn. Vllt einfach ``env`` am Ende vom Skript ausführen, Ausgabe einlesen und dann ``os.environ`` entsprechend ändern.
frausch
User
Beiträge: 3
Registriert: Dienstag 22. Juli 2008, 09:38

Dienstag 22. Juli 2008, 12:40

Vielen Dank für die Antwort. Dann werde ich entweder die Umgebungsvariablen in der Apachee config (es geht um cgi-scripte) setzen, oder os.environ benutzen.

Ich fände es halt schöner die init-scripte der Packete zu verwenden.

Viele Grüße

frausch
Antworten