Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用户定义模块存储_Python_Python Module - Fatal编程技术网

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

我对Python非常陌生,不能完全理解下面的场景

首先,没有模块,因此下面的错误是可以理解的

>>> 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)