0
第一篇文章!我查看了很多關於此問題的其他帖子,但找不到適用於我的代碼的任何內容。python - '具有多個元素的數組的真值不明確' - 什麼真值?
我試圖讀取一個音頻文件,然後找到樣本數組的最大值和最小值,x
。
wavread()
是我導入的另一個模塊中定義的函數。
它返回fs, x
。
x
是一個一維數組(x.shape = (150529,)
)
def minMaxAudio(inputFile):
(fs, x) = wavread(inputFile)
max_val = numpy.amax(x)
min_val = numpy.amin(x)
return (min_val, max_val)
當我單獨鍵入這些線成IPython中,我得到我想要的結果。但是當我調用此函數從導入.py文件出現錯誤:
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
它突出的最後一行(return語句)爲錯誤的位置。
我看過的其他每篇文章都包含了代碼中的某種評估或比較運算符。我沒有一個......是嗎?!
謝謝!
它的存在,進一步的堆棧跟蹤? –
同意戴夫。看起來錯誤來源是你調用函數的地方。 –
我試過重新啓動ipython,現在它工作。我不知道再次運行「導入模塊」在更改後不會重新加載文件。你必須運行重裝(模塊)。令人困惑的是,ipython在我調用它時打印出已更改的代碼...但實際上沒有運行該代碼,而是運行舊版本代碼?這真的是正確的行爲嗎?我在Ubuntu上。 – gwens