Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wielokrotne uruchamianie programu z poziomu pythona

135 views
Skip to first unread message

Nazgob

unread,
May 26, 2006, 6:10:48 PM5/26/06
to
Hej,
W ramach calkiem dlugiego projektu napisalem silnik do symulacji w C++.
Program uruchamia sie podajac mu paramatery a po 10sek do kilku minut(w
zaleznosci od parametrow) program wypuwa dane w postaci pliku txt i
skryptu gnu plota. Poniewaz musze wykonac wiele symulacji z roznymi
parametrami, zrobic pomiary predkosci itd postanowilem napisac do tego
skrypt w Pythonie. I tu zachodzi pewien problem. Umiem uruchomic
program, odpowiednio dobrac parametry itd. Korzystam z os. popen().
Problem polega na tym, ze skrypt nie czeka na zakonczenie dzialania
programu(ktory moze pracowac np 5min) i jedzie dalej. W skrypcie chce
napakowac symulacji na cala noc abym na rano mial gotowe dane do
analizy. Konczy sie to tak, ze skrypt odpala mi 10 programow, konczy
sie ram i wszystko sie sypie :) Jak sprawdzic, czy program uruchomiony
przez os.popen() juz skonczyl dzialanie? Myslalem o sprawdzaniu czy
istnieje juz plik z danymi, np co sekunde ale wypaczy to moje wyniki
wydajnosci.
Program dziala pod lin i win, bede wdzieczny za wskazowki.

darek

unread,
May 27, 2006, 3:28:02 AM5/27/06
to
Nazgob napisał(a):
os.spawn z odpowiednimi parametrami.

Pozdrawiam
Darek

Rob Wolfe

unread,
May 27, 2006, 7:32:50 AM5/27/06
to
"Nazgob" <naz...@gmail.com> writes:

Możesz też użyć moduł subprocess:

<code>
import subprocess
prog = subprocess.Popen(['./silnik'])
prog.wait()
</code>

albo np.:

<code>
import subprocess
log = open('silnik.log', 'w')
prog = subprocess.Popen(['./silnik'], stderr=log)
prog.wait()
log.close()
</code>

--
pozdrawiam
Rob

Wiktor Grębla

unread,
May 27, 2006, 7:42:43 AM5/27/06
to
Dnia Sat, 27 May 2006 09:28:02 +0200, darek napisał(a):

> os.spawn z odpowiednimi parametrami.

Albo od 2.4 http://docs.python.org/lib/module-subprocess.html

W.
--
question = ( to ) ? be : ! be;
-- Wm. Shakespeare

Nazgob

unread,
May 27, 2006, 7:59:10 AM5/27/06
to
Juz doszedlem, ze subprocess powinno sie teraz uzywac. Dzieki za
naprowadzenie.

0 new messages