我有一个从另一个文件导入函数的文件,如下所示。
文件1.py:
# import scipy.signal
import file2
file2.foo()
文件2.py:
import scipy
def foo():
scipy.signal.butter(2, 0.01, 'lowpass', analog=False)
当我运行www.example.com时file1.py,我收到以下错误:
文件“file2.py“,第5行,在foo scipy中。信号。butter(2,0.01,'低通',模拟=假)属性错误:模块'scipy'没有属性'signal'
然而,当我从file1.py(import scipy.signal
)中取消注解第1行时,错误消失了。为什么会发生这种情况?
1条答案
按热度按时间wfsdck301#
对于scipy,您需要使用
import scipy.signal
或from scipy import signal
直接导入子模块。如果只导入scipy,许多子模块将无法工作。您可以阅读有关scipy api here的信息