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

Fehler bei md5 aus File erstellen

Beitragvon Laines » Freitag 6. Juni 2008, 19:31

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

Re: Fehler bei md5 aus File erstellen

Beitragvon Laines » Freitag 6. Juni 2008, 19:32

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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 6. Juni 2008, 20:06

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

Beitragvon Laines » Freitag 6. Juni 2008, 20:21

Danke für den Tipp!
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 6. Juni 2008, 21:16

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

Beitragvon Laines » Montag 14. Juli 2008, 13:56

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

Beitragvon audax » Montag 14. Juli 2008, 13:58

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

Beitragvon BlackJack » Montag 14. Juli 2008, 15:03

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

Beitragvon Laines » Montag 14. Juli 2008, 17:00

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

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]