Abfrage ob Datei exisiert, wenn nicht nochmal prüfen

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.
Antworten
Bacopilot
User
Beiträge: 3
Registriert: Donnerstag 14. September 2006, 11:38

Hallo,
ich hab ein kleines Problem. Wie kann ich die Existenz einer Datei prüfen und dabei beachten, das wenn diese nicht vorhanden ist (sie wird von einem anderen Rechner in unbestimmter Zeit kopiert), er das ganze noch einmal überprüfen soll (in einer Schleife). Wenn sie dann da ist, soll weiteren Programmcode fortgefahren werden.

Vielen Dank
Bacopilot
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

die lösung heißt

Code: Alles auswählen

import os.path
if os.path.isfile(deine_datei):
    ...
sonst einfach das schreiben, was du schon sagtest.
http://www.cs.unm.edu/~dlchao/flake/doom/
BlackJack

Dazu vielleicht noch `time.sleep()` in der Schleife benutzen damit nicht 100% Prozessorzeit für den Test verbraucht wird.

Man muss aber aufpassen das eine existierende Datei nicht automatisch bedeutet, das die auch komplett ist. Der andere Prozess kann ja durchaus gerade noch mit kopieren beschäftigt sein.
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

um das von Blackjack aufgeworfene Problem zulösen solltest du vllt. immer die md5 Sum testen oder die Größe der Datei (wird dann einfach vorher genieriert / übergeben) und das testet du dann einfach immer mit

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
BlackJack

Eine andere Lösung wäre das die Datei erst einmal unter einem temporären Namen geschrieben und wenn sie komplett ist umbenannt wird.
Antworten