有如下目录:
即python文件夹下有file1, file2, pfile.py, data.py,文件夹file1下又有file1_1, pfile1.py, 文件夹file2下有pfile2.py,文件夹file1_1下又有pfile1_1.py。
在文件pfile.py中导入pfile1.py, pfile2.py或 pfile1_1.py,并使用其中的函数(假设函数名分别文fun1(), fun2(), fun1_1()):
需要注意的是,这种导入方式下,如果要用导入的文件中的函数或者类,需要在其前面加上文件名,即 "文件名.函数名" 的形式 。
有些教程里面说,需要在下一级目录下新建一个空的python文件命名为 __init__.py,但我在运行时发现不建一个文件也会导入成功。
如果要在pfile1.py中调用渗亏pfile.py 和 pfile2.py,因为当前路径是 '/home/puxitong/python/file1/' ,而 pfile.py和pfile1.py在路径'/home/puxitong/python/' 及其子路径下,这里的思返腊路是将上一级目录 '/home/puxitong/python/' 添加在系统路径中,可以直接访问pfile.py,然后将pfile2.py 按照下一级路径导入方式进行导入:
如果要在pfile1_1.py中导入pfile.py, pfile1.py, pfile2.py呢? 原理是一样的,即将漏喊滑文件pfile.py所在路径添加到系统路径中,可直接导入pfile.py, 再按照下级文件导入方式导入pfile1.py和pfile2.py:
(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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)