[Python-de] os. system für Kommandozeilenprogramm und GUI

Stefan Schwarzer sschwarzer at sschwarzer.net
Sat Jun 1 15:32:24 EDT 2002


Hallo Berenike

> In der Funktion sieht das dann so aus:
> os.system("progstart C:/programm/bla/filename")
> Hier werden leider keine Zusatzfiles erstellt und die Meldungen im
> DOS Fenster kann man nicht lesen, weil es sofort verschwindet!

Gut, dass du das Beispiel gebracht hast. In den von Python selbst
zur Verfügung gestellten Funktionen/Methoden (z. B. open) können in der
Windows- (und OS/2-)Version sowohl "normale" als auch umgekehrte
Schrägstriche als Pfadtrenner verwendet werden. Wenn du allerdings
os.system benutzt, wird das Argument direkt der Shell des Betriebs-
systems übergeben, die hier keine "normalen" Schrägstriche versteht.

Abhilfe: Verwende

os.system("progstart C:\\programm\\bla\\filename")

oder

os.system(r"progstart C:\programm\bla\filename")

Wenn das aufzurufende Programm nicht Windows-spezifisch ist, würde ich
sogar empfehlen, den Aufruf etwas zu verallgemeinern, z. B. das
Dateiname-Argument von einer Funktion (bzw. Methode) erzeugen lassen,
die das zur Platform passende Format liefert. Das Modul os.path (das
bei Verwendung von  import os  automatisch verfügbar ist), bietet einige
nette Hilfsmittel dafür, z. B. os.path.join.

Viele Grüße
 Stefan



More information about the Python-de mailing list