关于Python的import命令我一直似懂非懂。看了很多的文章,改了很多的代码,可是唯一能做的还是一种方式一种方式的试。今天总结并梳理一下自己关于import的知识吧。
基本概念
- 当前工作目录:你在哪一个目录下执行的脚本
- 脚本所在的目录:你执行的脚本所在的目录
- module:任何一个
.py
文件就是一个模型,模型的名字就是该文件的名字 - package:任何包含
.py
文件的文件夹 - built-in module:编译到Python解释器中的“module”(written in C),所以没有对应的
py
文件
import搜索module或package的路径:
当使用import命令时,Python解释器会首先搜索built-in模型,然后在搜索sys.path中的路径。
而sys.path 中的路径包含如下部分:
- 当前的工作目录;脚本所在的目录
- PYTHONPATH中的目录
- 其他(The installation-dependent default.)
将自己的包添加到系统中
我在开发过程中,有的代码不管什么项目都会用到。于是在系统中添加了自己的包。具体方法如下:
建立自己package的路径
该路径下存放自己的module或者package,例如你打算将你的包都放在/home/user/mypackages路径下
修改PYTHONPATH环境变量
为了使得修改长期有效,我们编辑.bashrc文件,在该文件中添加如下语句:
# add by usr, include m mypackages path in PYTHONPATH
export PYTHONPATH=/home/user/mypackages/:$PYTHONPATH
import
有了以上修改之后,我们想要import mypackages路径下的module或package,可以直接import。
比如mypackages文件夹下有文件夹video/和文件show.py,video下有videoSave.py。结构如下
mypackages
├── show.py
└── video
└── videoSave.py
可以直接
from video import videoSave
import show