Fehler bei md5 aus File erstellen

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
Laines
User
Beiträge: 39
Registriert: Donnerstag 15. Mai 2008, 18:42

Hallo,
ich will eine md5 summe aus einem file erstellen hier der Code:

Code: Alles auswählen

dbdatei = models.dbfile()
           dbdatei.filename = filename
           dbdatei.path = selecteddir
           dbdatei.fullpath = os.path.join(selecteddir, filename)
           dbdatei.md5 = hashlib.md5(file(dbdatei.fullpath).read()).hexdigest() 
           dbdatei.save()
Der Fehler lautet und betrifft die zeile5
TypeError at /
'FileDict' object is not callable
Request Method: POST
Request URL: http://127.0.0.1:8000/
Exception Type: TypeError
Exception Value: 'FileDict' object is not callable
Zuletzt geändert von Laines am Freitag 6. Juni 2008, 20:19, insgesamt 1-mal geändert.
Laines
User
Beiträge: 39
Registriert: Donnerstag 15. Mai 2008, 18:42

Laines hat geschrieben:Hallo,
ich will eine md5 summe aus einem file erstellen hier der Code:

Code: Alles auswählen

dbdatei = models.dbfile()
                   dbdatei.filename = filename
                   dbdatei.path = selecteddir
                   dbdatei.fullpath = os.path.join(selecteddir, filename)
                   dbdatei.md5 = hashlib.md5(file(dbdatei.fullpath).read()).hexdigest() 
                   dbdatei.save()
Der Fehler lautet und betrifft die zeile5
TypeError at /
'FileDict' object is not callable
Request Method: POST
Request URL: http://127.0.0.1:8000/
Exception Type: TypeError
Exception Value: 'FileDict' object is not callable
P.s.:
dbdatei.fullpath enthält den absoluten pfad der Datei z.B.:
/home/user/datei.txt
Zuletzt geändert von Laines am Freitag 6. Juni 2008, 20:20, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Warum sieht das aus wie ein Kamm? Hint: Quellcode schwerer lesbar zu machen verringert deine Chancen auf eine Antwort, wenn du dir nicht einmal die Mühe machst den Code zu formattieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Laines
User
Beiträge: 39
Registriert: Donnerstag 15. Mai 2008, 18:42

Danke für den Tipp!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Zerteils doch mal in Einzelschritten, dann wirds sicherlich klarer. Ich würde dir so oder so raten, die Datei im Binärmodus zu öffnen. Auf Unices macht das zwar eigentlich keinen Unterschied, aber es schadet auch nicht.
Zuletzt geändert von Leonidas am Montag 14. Juli 2008, 16:19, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Laines
User
Beiträge: 39
Registriert: Donnerstag 15. Mai 2008, 18:42

Muss das ganze leider nochmal pushen, hab immer noch das Problem. Sobald ich etwas mit "file" machen will sagt er mir "'FileDict' object is not callable"...
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

dann zeig halt mal vollen Quellcode, den man bei sich ausführen kann und bei dem der Fehler auftritt.
BlackJack

Ich würde mal sagen der Name `file` ist an ein Objekt vom Typ `FileDict` gebunden und nicht mehr an das Objekt aus den `__builtins__`. Ich würde sowieso `open()` empfehlen. Das "echte" `file` ist eher dazu gedacht, um Unterklassen davon ab zu leiten.
Laines
User
Beiträge: 39
Registriert: Donnerstag 15. Mai 2008, 18:42

Tja das war es schon...
statt file() einfach open() benutzt und es funktionierte....
Danke :D
Antworten