Wie beiße ich ein Objekt?

8

Hier ist der Code, den ich habe:

%Vor%

und das ist der Fehler, den ich erhalte:

%Vor%

Was ist los? Ich benutze Python 2.4 auf Windows XP

    
Richard 24.08.2010, 16:34
quelle

3 Antworten

20

Rufen Sie nicht Ihre Datei pickle.py auf. Es steht im Konflikt mit dem gleichnamigen Python-Standard-Bibliotheksmodul. So nimmt Ihr import pickle nicht das Python-Modul auf.

    
unutbu 24.08.2010, 16:39
quelle
3

Der Code, den Sie haben, funktioniert gut für mich.

%Vor%

Das Problem ist, dass Ihr Dateiname "pickle.py" die import pickle -Anweisung versucht, von Ihrer eigenen Datei anstelle der Hauptbibliothek zu importieren. Benennen Sie Ihre Codedatei um.

    
Amber 24.08.2010 16:40
quelle
1

Ihr Skript heißt Pickle und beschattet daher die Modulauswahl aus der Standardbibliothek. Es importiert sich selbst und versucht, seine Funktion dump aufzurufen (und natürlich hat es keine Funktion).

Beachten Sie, dass Sie "Glück haben", dass Sie nicht in eine unendliche Import-Schleife gekickt werden (weil das gleiche Modul beim Importieren zweimal einen anderen Verweis auf das gleiche Modul-Objekt im Speicher erzeugt).

    
delnan 24.08.2010 16:42
quelle

Tags und Links