为什么我不能使用scipy.io?

时间:2012-06-23 20:10:33

标签: python import scipy

我一直在努力开始使用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档案中找到这个问题的答案。

1 个答案:

答案 0 :(得分:21)

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

其次,from scipy import io模块不提供scipy.io功能。它看起来可能已经习惯了,但他们摆脱了它。您可能正在查看过时的教程。 (你正在使用什么教程?)谷歌搜索,似乎他们建议使用numpy的write_array函数,所以你可能想要研究它。