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的内存泄漏及gc模块的使用分析
Jul 16 Python
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
python映射列表实例分析
Jan 26 Python
Python实现的直接插入排序算法示例
Apr 29 Python
python实现输入数字的连续加减方法
Jun 22 Python
python斐波那契数列的计算方法
Sep 27 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
简单了解python中的f.b.u.r函数
Nov 02 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
Python如何进行时间处理
Aug 06 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
Django基础CBV装饰器和中间件
Mar 22 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简单定时执行任务的实现方法
2015/02/23 PHP
php中Snoopy类用法实例
2015/06/19 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
Javascript面向对象编程
2012/03/18 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python flask框架post接口调用示例
2019/07/03 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
谈谈python垃圾回收机制
2020/09/27 Python
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
学生会个人自荐书范文
2014/02/12 职场文书
小学生春游活动方案
2014/08/20 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis