Linux Befehl direkt ausführen

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.
Benutzeravatar
HorstJENS
User
Beiträge: 123
Registriert: Donnerstag 9. Februar 2006, 21:41
Wohnort: Wien, Österreich
Kontaktdaten:

Linux Befehl direkt ausführen

Beitragvon HorstJENS » Donnerstag 20. März 2008, 14:46

Sehr dumme Frage: Ich möchte aus einem Python-Skript heraus einen linux-Befehl direkt ausführen, z.B.:

ls >> ergebnis.txt


und einige mplayer-Befehle. Ich möchte nicht das subprozess-modul verwenden;
sonden will warten bis die Verarbeitung des Befehles fertig ist.

Welchen Befehl verwende ich da ?
Benutzeravatar
HL
User
Beiträge: 14
Registriert: Donnerstag 20. März 2008, 01:05
Kontaktdaten:

Beitragvon HL » Donnerstag 20. März 2008, 14:55

Hallo HorstJENS,

So funktioniert es:

Code: Alles auswählen

#!/usr/bin/python
import os
os.system('ls >> ergebnis.txt')


Grüße,
HL
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Beitragvon Trundle » Donnerstag 20. März 2008, 15:02

`subprocess.Popen`-Objekte haben eine Methode `wait`, die wartet, bis der Kindprozess beendet wurde.
BlackJack

Beitragvon BlackJack » Donnerstag 20. März 2008, 15:11

Oder das `subprocess`-Modul, damit kann man auch auf das Ende des externen Prozesses warten. In der Doku sind diverse "Rezepte" um die bisherigen Funktionen in `os` etc. zu ersetzen.
Benutzeravatar
HorstJENS
User
Beiträge: 123
Registriert: Donnerstag 9. Februar 2006, 21:41
Wohnort: Wien, Österreich
Kontaktdaten:

danke

Beitragvon HorstJENS » Donnerstag 20. März 2008, 17:37

Danke !

Wer ist online?

Mitglieder in diesem Forum: /me, Bing [Bot]