2010-01-14 6 views
5

J'essaie de lire un fichier * .wav en utilisant scipy. Je fais ce qui suit:Pourquoi scipy.io.wavfile.read ne retourne pas un tuple?

import scipy 
x = scipy.io.wavfile.read('/usr/share/sounds/purple/receive.wav') 

En conséquence de ce code, je reçois:

Traceback (most recent call last): 
    File "test3.py", line 2, in <module> 
    x = scipy.io.wavfile.read('/usr/share/sounds/purple/receive.wav') 
AttributeError: 'module' object has no attribute 'io' 

Quelqu'un sait-il ce qui ne va pas ici? Merci d'avance.

Répondre

8

Comme l'erreur l'indique, le module scipy n'a pas 'io'.

io.wavfile est un sous-module, vous devez from scipy.io import wavfile puis faire wavfile.read("/usr/share/sounds/purple/receive.wav")

Cela me donne une erreur avec le fichier que vous utilisez comme un exemple, mais ...

+0

Pourquoi scipy n'a pas io? Pourquoi les gens écrivent scipy.io si scipy n'a pas io? – Roman

+1

Le comportement est un peu étrange et peu clair pour moi aussi. Espérons que quelqu'un plus éclairé vous expliquera pourquoi c'est si ... – Kimvais

+0

Merci pour votre réponse. Cela a aidé à régler le problème. Mais un nouveau problème apparaît: "impossible d'importer le nom NumpyTest". J'ai déjà posé une nouvelle question à ce sujet. – Roman

Questions connexes