(1)主程序main.py与模块程序mod1.py在同一目录下。
专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业新安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
--src
|--mod1.py
|--main.py
直接在main.py中导入模块mod1.py,即 import mod1 或 from mod1 import *
(2)主程序main.py所在目录是模块程序mod.py所在目录的父目录。
--src
|--mod1.py
|--main.py
---mod2
|--mod2.py
先需要在mod2文件夹中建立空文件__init__.py
然后在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py导入上层目录中的模块或其他目录(平级)下的模块。
--src
|--mod1.py
---mod2
|--mod2.py
---sub
|--main.py
先需要在mod2文件夹中建立空文件__init__.py,而src文件夹下不需要建立
然后进入主程序main.py所在的路径,执行python main.py
在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
执行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2
Python具备动态导入module并且执行其中代码的能力,所以你只要import你保存的东西就可以,无需中断你当前的代码执行流。
python中模块导入的方法:
方式一:使用 import 语句来引入模块
直接使用关键词import,后面跟具体的模块名称,就可以导入某一个模块。同一个模块不管执行了多少次import,都只会被导入一次,以防止模块被一遍又一遍的执行。
方式二:使用from…import 语句来引入模块
在使用import语句导入模块时会将整个模块引入进来,而使用from...import 语句则是从模块中导入一个指定的部分到当前命名空间中。如上面代码中则只会导入pprint模块中的pprint函数,其他函数并不会导入。
方式三:使用from…import语句来引入模块
在多数情况下,Python程序员都不会使用这个功能,因为它在解释器中引入了一组未知的名称,而它们很可能会覆盖一些你已经定义过的东西。
注意通常情况下从一个模块或者包内调入 * 的做法是不太被接受的, 因为这通常会导致代码的可读性很差。不过,在交互式编译器中为了节省打字可以这么用。
模块的好处
1、大大提高了代码的可维护性。
2、代码不必从零开始,一个模块编写完毕之后,其他模块可以直接调用,节约了工作时间。
3、避免函数名称和变量名称重复,在不同的模块中可以存在相同名字的函数名和变量名,但是尽量不要和系统内置的模块名称重复。
这个问题涉及到包和模块管理。包名和模块名一般是小写。你的文件是下面的结构,需要创建空文件 b/__init__.py,将b目录变成package。a/a.py
12
from b.c import indexindex()
b/c.py
12
def index(): print("hello")
b/__init__.pya/a.py 里面有两种引用方式,相对引用和绝对引用:# 如果a.py是 library,两种引用方式都可以
1
from ..b.c import index
# 如果a.py是 executable,必须使用绝对引用
1
from b.c import index
如果使用绝对引用,需要确保b所在目录在PYTHONPATH (sys.path)里面,比如可以这样执行:
1
env PYTHONPATH=. python a/a.py