hi ich weiss nicht so richtig wie ich's beschreiben soll - deswegen erst mal bsp module_a.py ------------------------------------------- class A: def test(self): pass module_b.py ------------------------------------------- from module_a import A from somewhere.else import func3 class B(A): pass def func1(): print 'funct1' def func2(): print 'func2' script.py --------------------------------------------- from module_b import B b = B() b.test() in b.test() wuerde ich jetzt gerne sehen was es im namespace von module_b alles gibt ... also A, B, func1, func2, func3, etc hat da jemand ne idee? danke markus
Hallo Liste, ich bin mir nicht sicher, ob ich den Betreff richtig gewählt habe. Im os-Modul gibt es eine Funktion, dass man den aktuellen Prozess durch einen anderen ersetzt. Ich suche etwas ähnliches, welches einen neuen Prozess startet, ohne dessen Beendigung abzuwarten. Wenn ich zum Beispiel os.system('wget url') aufrufen würde, würde er erst die Aktion abarbeiten, doch ich würde wget gerne als eigenen Prozess starten, ist das möglich? Vielen Dank gruß Sebastian
Hallo, On Sat, 23 Feb 2008 13:04:27 +0100 "SHumenda@gmx.de" <shumenda@gmx.de> wrote:
Ich suche etwas ähnliches, welches einen neuen Prozess startet, ohne dessen Beendigung abzuwarten. Wenn ich zum Beispiel os.system('wget url') aufrufen würde, würde er erst die Aktion abarbeiten, doch ich würde wget gerne als eigenen Prozess starten, ist das möglich?
os.system() startet auf jeden Fall einen neuen Prozess - es hat mit os.exec*() recht wenig zu tun. Was du suchst sind asynchrone Prozessaufrufe. Dazu nimmt man subprocess.Popen, welches man bei Bedarf auch synchron (also wartend) schalten kann. grüße, Marek
ich bin mir nicht sicher, ob ich den Betreff richtig gewählt habe. Im os-Modul gibt es eine Funktion, dass man den aktuellen Prozess durch einen anderen ersetzt. Ich suche etwas ähnliches, welches einen neuen Prozess startet, ohne dessen Beendigung abzuwarten. Wenn ich zum Beispiel os.system('wget url') aufrufen würde, würde er erst die Aktion abarbeiten, doch ich würde wget gerne als eigenen Prozess starten, ist das möglich?
Sicher. Die genaue Art und Weise, das zu tun, hängt vom Betriebssystem ab. Für POSIX-System (mit denen Du offenbar arbeitest, da Du wget aufrufen möchtest), gibt es os.fork(); lies Dir dazu mal die zahlreiche Dokumentation zu fork/exec durch (nicht nur für Python). Python kapselt fork()/exec() zusätlich noch, z.B. in system() (wobei auch noch wait() gerufen wird) und im subprocess-Modul. Ciao, Martin
participants (4)
-
"Martin v. Löwis" -
Marek Kubica -
markus espenhain -
SHumenda@gmx.de