Mit subprocess zugewiesene Variable exportieren

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
BlackJack

@Raspx10: Da weiss die Dokumentation von ``sed`` mehr drüber: sed, a stream editor.

Grundsätzlich könntest Du aber auch selber überlegen wie man das lösen könnte ohne eine ``sed``-Lösung 1:1 nach Python umzuschreiben.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Raspx10 hat geschrieben:

Code: Alles auswählen

import lib_mit_getMyIP
IP = lib_mit_getMyIP.getMyIP()
print IP
Wieso eigentlich `print`? Sicher, dass du nicht lieber ``subprocess.call(['echo', IP])`` verwenden möchtest...? :twisted:

Mal im Ernst: Ein Aufruf von `sed` hat normalerweise nichts in einem Python-Programm zu suchen. Python kann nämlich all das, was `sed` auch kann, da es reichlich Funktionalität zur Verarbeitung von Text anbietet. Außerdem ist jedes externe Tool ja eine weitere Abhängigkeit. Und Abhängigkeiten (d.h. alles was nicht zu Pythons Boardmitteln gehört) sollte man IMHO nur mitschleppen, wenn das Schreiben des nötigen Codes ohne die Abhängigkeit zu umfangreich wäre. In deinem Fall ist die Verarbeitung der Rückgabe des `ifconfig`-Befehls aber lediglich ein Zweizeiler.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:Grundsätzlich könntest Du aber auch selber überlegen wie man das lösen könnte ohne eine ``sed``-Lösung 1:1 nach Python umzuschreiben.
Dem stimme ich zu. Anstatt die `sed`-Syntax zu entschlüsseln, kann man sich auch einfach die Ausgabe von ``ifconfig eth0`` ansehen und überlegen, wie man an den gewünschten Textausschnitt kommt. Dazu bedarf es einer schrittweisen Vorgehensweise. Mit den einzelnen Schritten dürfte man als Anfänger auch etwas länger beschäftigt sein. Wenn man da systematisch rangeht, wird man auch spezifische Fragen haben. Die Fragen, die man durch Recherche nicht selbst beantwortet bekommt, kann man dann gerne hier im Forum stellen.
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Eine von dir in Python implementierte Lösung hätte für dich außerdem den Vorteil, dass du sie bei Bedarf flexibler machen könntest. Hier gibt es zum Beispiel kein eth0.
Antworten