Error: Datei gibt es nicht...

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.
Civili4n
User
Beiträge: 12
Registriert: Freitag 3. April 2009, 07:30

Error: Datei gibt es nicht...

Beitragvon Civili4n » Mittwoch 8. April 2009, 15:50

Hi,
ich wollte in einem Programm ein error einfügen falls die Quelldatei nicht exestiert.
hab jetzt son seit über einer stunde gesucht -.-''
von mir aus haut mich falls es schon einen threat gibt :P

Code: Alles auswählen

import io

source = io.FileIO("C:\\blabla.txt", "r")
file = io.FileIO("C:\\blubb.txt", "a")

count = 0

data=source.read(512)
source.seek(0)
if len(data) ==0:
    print ("Error: The source file is empty!")
else:
    while True:
        data = source.read(512)

        nBytesRead = len(data)   

        if nBytesRead > 0:
            print("loop:", count+1, "BytesRead:", nBytesRead)
            file.write(data)
        else:
            break

        count = count + 1

file.close()
source.close()
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Mittwoch 8. April 2009, 15:55

Ich weiß ja nicht, was du mit dem io-Modul vor hast...

Code: Alles auswählen

>>> try:
...   fp = open("test.txt", "r")
... except IOError:
...   print "Argh, Datei ist nicht, Altah!"
...
Argh, Datei ist nicht, Altah!
>>>


Edit: Ausabe um "Altah" erweitert ^^
Das Leben ist wie ein Tennisball.
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Mittwoch 8. April 2009, 16:01

Verwende open statt io.FileIO.

Öffne nie Dateien ohne with oder try..finally um sicherzustellen dass die Datei geschlossen wird. In diesem Fall ist contextlib.nested einen Blick wert.

Strings haben eine .format() Methode, die solltest du dir mal anschauen.

Außerdem gibt es +=, -=, *=, /= und //= um Zahlen zu verändern.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Mittwoch 8. April 2009, 18:33

Wenn es nur darum geht, ob eine Datei existiert:

Code: Alles auswählen

import os
if not os.path.exists("foo.bar"):
    raise Exception("nix foo.bar")


Man sollte vielleicht noch prüfen, ob es eine Datei oder ein Verzeichnis ist und man will vielleicht auch wissen, ob es ein Link ist. Mit `os.stat()` kann man sich gleich einen ganzen Schwung an Informationen auf einmal holen und z.B. die Länge anschauen. Wenn die Datei nicht existiert, gibt es einen `OSError`. An die Länge kommt man aber auch über `os.path.getsize()`.

Stefan

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]