26

我一直在尝试开始使用 scipy,但是这个包给了我一些问题。本教程很大程度上依赖于 scipy.io,但是当我导入 scypi 并尝试使用 scipy.io 时,出现错误:

In [1]: import scipy

In [2]: help(scipy.io)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/chris/dev/scipy/<ipython-input-2-ef060398b31c> in <module>()
----> 1 help(scipy.io)

AttributeError: 'module' object has no attribute 'io'

我已经运行了系统更新并卸载了 scipy 然后再次安装它。

有趣的是,我可以这样导入模块:

In [1]: import scipy.io

但是当我尝试使用它时,我一使用方法就会出错:

In [2]: arr = scipy.array([[1.0,2.0],[3.0,4.0],[5.0,6.0]])
In [3]: outFile = file('tmpdata1.txt', 'w')
In [4]: scipy.io.write_array(outFile, arr)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/chris/dev/scipy/<ipython-input-4-46d22e4ff485> in <module>()
----> 1 scipy.io.write_array(outFile, arr)

AttributeError: 'module' object has no attribute 'write_array'

我确定我错过了一些令人尴尬的基本内容,但我无法在 Google 或 stackoverflow 档案中找到这个问题的答案。

4

1 回答 1

35

这里有两件事。首先,您通常不能通过执行import package然后尝试访问来访问包中的模块package.module。你经常不得不做你所做的import package.module,或者(如果你不想一直打字package.module,你可以做from package import module。所以你也可以做from scipy import io

二是scipy.io模块不提供write_array功能。看起来也许它曾经是,但他们摆脱了它。您可能正在查看过时的教程。(你在用什么教程?)谷歌搜索,似乎他们建议使用 numpy 的savetxt函数,所以你可能想研究一下。

于 2012-06-23T20:20:28.140 回答