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的Scrapy爬虫框架简单学习笔记
Jan 20 Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
详解Python中的测试工具
Jun 09 Python
java判断三位数的实例讲解
Jun 10 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
后端开发使用pycharm的技巧(推荐)
Mar 27 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
python 对图片进行简单的处理
Jun 23 Python
常用的Python代码调试工具总结
Jun 23 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
跟老齐学Python之print详解
2014/09/28 Python
python中redis的安装和使用
2016/12/04 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
Python PO设计模式的具体使用
2019/08/16 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
python 绘制国旗的示例
2020/09/27 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
Shell编程面试题
2016/05/29 面试题
信息管理专业推荐信
2013/10/29 职场文书
触摸春天教学反思
2014/02/03 职场文书
企业法人授权委托书
2014/09/25 职场文书
2014年妇女工作总结
2014/12/06 职场文书