python - 模块调用
基础
调用模块常见的两种方法
- import [模块名]
- from [模块名] import [属性/方法]
进阶用法
调用父级目录下模块
背景介绍
目录new2(b2.py)调用上级目录new1(b1.py)
b2.py
- 方法1
from b1 import h1
a = h1()
print(a)
- 方法2
import b1
a = b1.h1()
print(a)
调用同级目录下模块
背景介绍
目录new0(b0.py)调用同级目录new3(b3.py)
- 方法1
import sys
sys.path.append("..")
from new3.b3 import *
a = h3()
print(a)
- 方法2
import sys
sys.path.append("..")
import new3.b3
a = new3.b3.h3()
print(a)
调用指定目录下的模块
背景介绍
目录new0(b0.py)调用绝对路径下F:\Program
的b2.py
import sys
import os
sys.path.append(os.path.abspath(r'F:\Program'))
from b2 import *
a = h1()
print(a)
拓展
import导入路径
import导入路径的过程
本质上就是寻找一个模块的路径
- 在当前目录下寻找
- 如果不在当前目录下,Python则会搜索在shell变量PYTHONPATH下的每个目录
- 如果都找不到,Python会查看默认路径,UNIX下,默认路径一般为/usr/local/lib/python/
- 如果还找不到,模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录
先后顺序也决定程序的结果
如果在当前目录下就有,但是你却放在了sys.path的最后面,程序就会报错,就是因为顺序原因
环境变量
PYTHONPATH
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
- 打印PYTHONPATH
import os
import pprint
pprint.pprint(sys.path)
- 设置PYTHONPATH
方法一:命令窗口添加路径(临时添加)
export PYTHONPATH=$PYTHONPATH:/home/ershisui
注意:此方法只在当前命令窗口生效!
方法二:在python 中添加(永久添加)
import sys
sys.path.append('/home/ershisui/')
参考:
https://www.cnblogs.com/zhuxiaoxi/p/10003609.html
https://www.cnblogs.com/lifeofershisui/p/8135702.html