Python 用户定义模块存储
我对Python非常陌生,不能完全理解下面的场景 首先,没有模块,因此下面的错误是可以理解的Python 用户定义模块存储,python,python-module,Python,Python Module,我对Python非常陌生,不能完全理解下面的场景 首先,没有模块,因此下面的错误是可以理解的 >>> import module1 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import module1 ImportError: No module named module1 Python空闲 >>> import
>>> import module1
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import module1
ImportError: No module named module1
Python空闲
>>> import module1
>>> module1.func()
this is a test module
>>> import module1
>>> module1.func1()
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
module1.func1()
AttributeError: 'module' object has no attribute 'func1'
在执行第一条语句时,创建了module1.pyc
文件。然后我在module1.py中添加了另一个函数
模块1.py
def func():
print 'this is a test module'
def func():
print 'this is a test module'
def func1():
print 'this is func1'
并尝试导入此新文件并运行以下语句。但抛出的错误如下所示
Python空闲
>>> import module1
>>> module1.func()
this is a test module
>>> import module1
>>> module1.func1()
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
module1.func1()
AttributeError: 'module' object has no attribute 'func1'
导入模块1
>>>模1.func1()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
模1.func1()
AttributeError:“模块”对象没有属性“func1”
然后,我从文件夹中删除了module1.py
,然后重新保存module1.py
(没有更改任何内容)。我再次在IDLE提示符中执行上述语句,并抛出相同的错误。而这次当执行import module1
语句时,module1.pyc
文件的创建与上次不同
然而,在重新启动IDLE时,一切都能正常工作,但是为什么IDE不在每次执行import语句时重新编译module1.pyc
(没有重新启动或打开另一个空闲窗口),或者有人能解释每次执行import
语句时内存中到底发生了什么
谢谢 如果您导入一个已经导入的模块,它不会“重新导入”,您只会得到对原始模块的引用 如果模块已导入,则应使用重新导入:
reload(module1)