2010-11-20 8 views
9

Ich versuchenumpy Last hebt „Attribute:‚Modul‘Objekt hat kein Attribut‚expr‘“

#!/usr/bin/env python 

import os 
from numpy import * 

b= ones((3, 3)) 
print b 
save('fff', b) 
a = load('fff.npy') 
print a.shape 
print 'fertig' 

zu laufen, aber es wirft:

Traceback (most recent call last): 
    File "savetest.py", line 9, in <module> 
    a = load('fff.npy') 
    File "/usr/lib/python2.6/dist-packages/numpy/lib/io.py", line 195, in load 
    return format.read_array(fid) 
    File "/usr/lib/python2.6/dist-packages/numpy/lib/format.py", line 353, in read_array 
    shape, fortran_order, dtype = read_array_header_1_0(fp) 
    File "/usr/lib/python2.6/dist-packages/numpy/lib/format.py", line 250, in read_array_header_1_0 
    d = safe_eval(header) 
    File "/usr/lib/python2.6/dist-packages/numpy/lib/utils.py", line 840, in safe_eval 
    ast = compiler.parse(source, "eval") 
    File "/usr/lib/python2.6/compiler/transformer.py", line 53, in parse 
    return Transformer().parseexpr(buf) 
    File "/usr/lib/python2.6/compiler/transformer.py", line 132, in parseexpr 
    return self.transform(parser.expr(text)) 
AttributeError: 'module' object has no attribute 'expr' 

ich das Beispiel von docs.scipy.org versuchte es wirft derselbe Fehler in meinem Terminal, aber es funktioniert in meiner ERIC Python IDE. Das Internet bietet zu diesem Zeitpunkt keine für mich verständliche oder übertragbare Lösung.

Schließlich, sieht jemand den Fehler in meinem Code oder Ansatz und ist in der Lage, eine Lösung dafür zu bieten?

+0

Bitte formatieren Sie Ihren mehrzeiligen Code und rückverfolgen Sie, indem Sie mit vier Leerzeichen einrücken (Strg-K im Editor). – ptomato

Antwort

7

Ich denke, Sie müssen eine andere Datei mit dem Namen parser.py irgendwo in Ihren Dateien haben (diejenigen, die Python finden kann). Es macht es so, dass Python das falsche Parser-Modul findet. Schau dich um und sieh nach, ob das der Fall ist. Es könnte auch eine parser.so Datei sein.

Versuchen Sie, in einer interaktiven Sitzung und Typisierung gehen:

import parser 
print parser.__file__ 

Hoffentlich, die Ihnen sagen, wo die lästige Datei befindet.

+0

Es war tatsächlich eine solche Datei in diesem Verzeichnis. Ich habe es umbenannt. Jetzt funktioniert es wie es soll. Danke, dass du meinen Tag gemacht hast. – Sebastian

+1

Das ist mir passiert mit einer Datei namens 'signal.py' – Abramodj

+0

@Abramodj das gleiche ist mir passiert, weil meine Datei signal.py hieß – Atti

Verwandte Themen