Seite 1 von 1

Prozess repeaten

Verfasst: Mittwoch 10. Juli 2013, 21:04
von MarcelF6
Guten Abend allerseits

Ich habe ein Programm, das auf eine im temporären Ordner gespeicherte Datei zugreift. Diese existiert eigentlich so schon. Wenn man aber den temporären Ordner leert, hat mein Programm natürlich ein Problem. Die Datei wird zwar im selben Prozess (einen Schritt später) erzeugt, nur bringt das meinem Programm dann nichts mehr.
Momentan habe ich einfach eine try-except-Abfrage, die bei fehlender Datei ausgibt, dass man das Skript nochmals laufen lassen soll.
Gibt es keine elegantere Möglichkeit, die den gesamten Prozess sozusagen nochmals aufruft?

Besten Dank.

Re: Prozess repeaten

Verfasst: Mittwoch 10. Juli 2013, 21:26
von kbr
MarcelF6 hat geschrieben:Gibt es keine elegantere Möglichkeit, die den gesamten Prozess sozusagen nochmals aufruft?
Wenn Du den Prozess, auf dessen Output Du wartest, noch einmal aufrufen musst (weil der Output schon wieder weg ist), dann ist das eben so.
Eleganter wäre eine abgestimmte Prozesskoordination.

Re: Prozess repeaten

Verfasst: Mittwoch 10. Juli 2013, 21:26
von Sirius3
@MarcelF6: Warum löscht Du eine Datei, die noch gebraucht wird? Da liegt doch das eigentliche Problem.

Re: Prozess repeaten

Verfasst: Mittwoch 10. Juli 2013, 21:44
von MarcelF6
Ok.
Noch ne andere Frage:
Wie kann ich in einem Programm eine Funktion einer anderen Klasse (eines anderen Files) importieren?

Das andere File besteht aus diversen Klassen, diese wiederum aus diversen Funktionen.

Ich versuche es mit "from ..script import ClassA" - aber so klappt das offenbar nicht.

Re: Prozess repeaten

Verfasst: Mittwoch 10. Juli 2013, 21:54
von BlackJack
@MarcelF6: Klassen enthalten keine Funktionen sondern Methoden. Bitte zeige ein echtes Beispiel, denn mal abgesehen von den zwei Punkten vor dem Modulnamen sollte das so funktionieren, solange das Modul im Suchpfad für Python-Module enthalten ist. Damit würde man die Klasse importieren. Davon muss man natürlich noch ein Exemplar erstellen, wenn man eine Methode aufrufen möchte.