[Python-de] shelve und exceptions

Diez B. Roggisch deets at web.de
Mit Nov 9 16:28:00 CET 2005


> 1. Frage dazu: Kann man testen ob eine Datei ein gültiges "shelf" ist?

Keine Ahnung - kannste vielleicht mit "file" machen, im Notfall dessen DB 
anpassen. 

> 2. Frage: Wenn nicht, kann ich den open-Aufruf ja in ein
> try-except-statement packen und die exception anydbm.error abfangen.
> Funktioniert auch, nur erscheint in der Konsole noch eine Fehlermeldung:
> ---snip---
> Exception exceptions.AttributeError: "DbfilenameShelf instance has no
> attribute 'writeback'" in  ign ored
> ---snap---
> Wo kommt die denn her? Und was genau hat die zu bedeuten? Und wieso kann
> ich die nicht abfangen? Und wieso zum Teufel ist die Antwort 42?

Ich vermute mal das das ne logging-message ist - haste mal probiert 
rauszufinden ob das auf stdout oder stderr kommt? Und ob du einen loghandler 
setzen kannst (falls logging verwendet wird, und nicht print.)

Falls du das nicht abklemmen kannst, kannst du immer noch dummy-streams nach 
sys.stdout/sys.stderr legen - zugegebenermassen haesslich.

MfG Diez