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原始字符串(raw strings)用法实例
Oct 13 Python
使用简单工厂模式来进行Python的设计模式编程
Mar 01 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
python爬虫获取京东手机图片的图文教程
Dec 29 Python
Python将多个excel表格合并为一个表格
Feb 22 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
Python zip()函数用法实例分析
Mar 17 Python
python合并同类型excel表格的方法
Apr 01 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
django框架创建应用操作示例
Sep 26 Python
python3 webp转gif格式的实现示例
Dec 10 Python
python函数map()和partial()的知识点总结
May 26 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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php创建sprite
2014/02/11 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
php批量修改表结构实例
2017/05/24 PHP
Jquery 插件开发笔记整理
2011/01/17 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
python实现傅里叶级数展开的实现
2018/07/21 Python
Python实现登陆文件验证方法
2018/10/06 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
如何用Python 加密文件
2020/09/10 Python
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
信访工作经验交流材料
2014/05/23 职场文书
个人作风建设总结
2014/10/23 职场文书
小学班主任评语
2014/12/29 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Python实现仓库管理系统
2022/05/30 Python