转载来自:
https://www.cnblogs.com/whitemouseV2-0/p/9925344.html
https://www.cnblogs.com/whitemouseV2-0/p/9925374.html
1、python同级目录及子目录模块引入
2个模块在同一个包内时(即引入和被引入的2个py文件在同一个目录下),直接引入模块名
1、引入与被引入模块或包在同一目录下时,直接引入模块名或者包名import modulename.py或者import packagename
示例:
文件层级:
①模块print_parameters.py引入parameters.py模块内变量或函数时,
import parameters #使用时,module_name.variable_name(模块名.变量名)
from parameters import * #使用时,直接variable_name(变量名)
from parameters import variable_name #使用时,直接variable_name(变量名或方法)
如:print(parameters.number+1) #number为parameters.py参数内的变量
②模块print_letter.py引入test176包下__init__.py模块内变量或函数时,
import test176
from test176 import *
from test176 import variable_name #使用时,直接variable_name(变量名或方法)
③模块print_letter.py引入test176包下letter.py模块内变量或函数时,
import test176.letter
from test176.letter import *
from test176.letter import variable_name #使用时,直接variable_name(变量名或方法)
④模块print_word.py引入包test下__init__.py模块内变量或函数时,
import __init__
from __init__ import *
from __init__ import variable_name #使用时,直接variable_name(变量名或方法)
2、引入父级模块或者包
---引入父级目录
目录结构:
print_father.py引入上级目录father.py模块的sentence变量,代码如下:
#注:需要引入的文件 E:\test\test176\test186\grandfather.py
import sys
sys.path.append(r'E:\test\test176\test186') #python搜索环境变量中增加需要引入模块所在路径
from grandfather import sentence
print(sentence)
-----------------------
print_grandfather.py引入上级目录grandfather.py模块的sentence变量,代码如下:
import sys
sys.path.append(r'E:\test\test176')
from grandfather import sentence
print(sentence)
-----------------------------------------------------------------------引入父级子目录
引入父级子目录,并且把增加变量写在包所属模块__init__.py内
目录结构: