Shurui Liu (Aaron Liu) wrote:
# geek_translator3.py
# Pickle
import pickle
This is where you told it to load import.py. Normally, that just
quietly loads the standard module included with your system.
<snip, rest of source>
When I run it, the system gave me the feedback below:
Traceback (most recent call last):
File "geek_translator3.py", line 4, in <module>
import pickle
File "/usr/local/lib/python2.5/pickle.py", line 13, in <module>
AttributeError: 'module' object has no attribute 'dump'
I don't understand, I don't write anything about pickle.py, why it mentioned?
what's wrong with "import pickle"? I read many examples online whose
has "import pickle", they all run very well.
Thank you!
I don't have 2.5 any more, so I can't look at the same file you
presumably have. And line numbers will most likely be different in
2.6. In particular, there are lots of module comments at the beginning
of my version of pickle.py. You should take a look at yours, and see
what's in line 13. My guess it's a reference to the dump() function
which may be defined in the same file. Perhaps in 2.5 it was defined
elsewhere.
Most common cause for something like this would be that pickle imports
some module, and you have a module by that name in your current
directory (or elsewhere on the sys.path). So pickle gets an error after
importing it, trying to use a global attribute that's not there.
Wild guess - do you have a file called marshal.py in your own code?
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor