Python中如何添加自定义模块


Posted in Python onJune 09, 2020

一般来说,我们会将自己写的Python模块与python自带的模块分开存放以达到便于维护的目的。那么如何在Python中添加自定义的模块呢?

在解答这个问题之前,我们首先要明确两点:

1.严格区分包(package)和文件夹。包的定义就是包含__init__.py的文件夹。如果没有__init__.py,那么就是普通的文件夹。

2.模块导入写法,注意只要包路径,不要文件夹路径。

Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下2种方法:

1. 在sys.path列表中添加新的路径。

2. 将库文件复制到sys.path列表中的目录里(如site-packages目录)。

我们可以通过运行一下代码来查看sys.path

import sys
print sys.path

运行结果

['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.

framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/

lib/python/PyObjC', '/Library/Python/2.7/site-packages']

这两种办法中第一种比较简单,而且对环境的影响最小。

下面我们来看一下第一种方法具体如何操作:

在python安装目录的site-package文件夹中新建pythontab.pth,上面site-package的路径是:/Library/Python/2.7/site-packages,文件的内容是:需要导入的package所在的文件夹路径。

这样,Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,这样 .pth 文件说指明的package也就可以被Python运行环境顺利找到, 我们就可以像使用内置模块一样引入自定义模块了。

如果缺省的sys.path中没有含有自己的模块或包的路径,我们也可以使用sys.path.apend方法来动态加入包路径。

知识点扩展:

Python中添加自定义模块原则:

1. 严格区分包和文件夹。包的定义就是包含__init__.py的文件夹。如果没有__init__.py,那么就是普通的文件夹。

2. 导入package。 在python 安装目录的site-package文件夹中新建xxx.pth,内容是需要导入的package所在的文件夹路径。

3. 导入模块。就是一般的模块导入写法,注意只要包路径,不要文件夹路径。

以上就是Python中如何添加自定义模块的详细内容,更多关于Python中添加自定义模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中pygame模块用法实例
Oct 09 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
Python迭代器和生成器介绍
Mar 06 Python
Python实现去除代码前行号的方法
Mar 10 Python
python多线程方式执行多个bat代码
Jun 07 Python
分享6个隐藏的python功能
Dec 07 Python
python字符串的方法与操作大全
Jan 30 Python
对python中的argv和argc使用详解
Dec 15 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
python 实现字符串下标的输出功能
Feb 13 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
python实现自动化群控的步骤
Apr 11 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 #Python
Python如何避免文件同名产生覆盖
Jun 09 #Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 #Python
Python嵌入C/C++进行开发详解
Jun 09 #Python
Keras load_model 导入错误的解决方式
Jun 09 #Python
如何用python处理excel表格
Jun 09 #Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 #Python
You might like
php xfocus防注入资料
2008/04/27 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP文件上传类实例详解
2016/04/08 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
Python中实现对list做减法操作介绍
2015/01/09 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
Flask解决跨域的问题示例代码
2018/02/12 Python
python语言中with as的用法使用详解
2018/02/23 Python
解决python "No module named pip" 的问题
2018/10/13 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
使用npy转image图像并保存的实例
2020/07/01 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
2014迎新年晚会策划方案
2014/02/23 职场文书
合伙协议书范本
2014/04/21 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
车间统计员岗位职责
2015/04/14 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏