Seite 1 von 1

commands

Verfasst: Dienstag 9. August 2005, 11:56
von patrickk
Hi,

wie kann ich in einem Python skript z.b. Dateien aus einem Ordener loeschen rm ... und ein anderes Programm mit einem String starten, der den Ort einer Textdatei angibt? Das andere Programm ist nicht python. Man kann es von der Kommandozeile starten.
Hoffe das geht. In meiner Beschreibung zu python steht das leider nicht.

Patrick

zu 1

Verfasst: Dienstag 9. August 2005, 11:59
von patrickk
Habe eine Textdatei mit Zeiten und Adresse von textdateien. Nun habe ich in python zeilenweise dies in int und strings geschrieben und moechte nun je nach Zeit ein externes Programm mit der Adresse der Textdatei starten. Aber wie geht das?

Verfasst: Dienstag 9. August 2005, 11:59
von Leonidas
Dateioperationen kannst du mit dem Modul shutil machen, Programme ausführen geht mit os.system().

Verfasst: Dienstag 9. August 2005, 12:10
von patrickk
Danke!

klappt aber leider nicht?

import shutil
copyfile(/home/dde...,/home/ddd)

invalid syntax? Was fehlt?


Danke,


Patrick

Verfasst: Dienstag 9. August 2005, 12:18
von patrickk
Ok, Anfaengerfehler...


Shutil ist ja ein modul...


daher> shutil.copy("fe","cds")

Verfasst: Dienstag 9. August 2005, 12:50
von patrickk
Hi,


wie kann man andere Programme mit os starten?
hab ein Programm test.
Wie lasse ich aus python test starten ?
import os

und dann?

Verfasst: Dienstag 9. August 2005, 13:21
von Leonidas
patrickk hat geschrieben:wie kann man andere Programme mit os starten?
hab ein Programm test.
Wie lasse ich aus python test starten ?
import os

und dann?
Das habe ich dir doch im ersten Post geschrieben, sogar mit Link zur Dokumentation.

Code: Alles auswählen

import os
os.system("test")

Verfasst: Mittwoch 10. August 2005, 10:01
von Joghurt
Leonidas hat geschrieben:

Code: Alles auswählen

import os
os.system("test")
Ah, der berühmte "test"-Bug.
Falls du unter Unix arbeitest, und ein Programm "test" compiliert hast, musst du es mit "./test" starten; ansonsten wird /usr/bin/test ausgeführt, und das erzeugt keine Ausgabe.

Verfasst: Mittwoch 10. August 2005, 11:37
von Leonidas
:oops:
Man kann auch nicht alle Möglichkeiten vorraussehen..

Unix' test erzeugt zwar keine Ausgabe, aber sehr wohl einen Returncode:

Code: Alles auswählen

In [1]: import os
In [5]: os.system('test')
Out[5]: 256

Verfasst: Mittwoch 10. August 2005, 16:12
von Joghurt
Leonidas hat geschrieben:Unix' test erzeugt zwar keine Ausgabe, aber sehr wohl einen Returncode:
Das will ich auch stark hoffen, denn das ist ja seine Aufgabe, sonst hieße es ja /bin/true ;)