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 list转dict示例分享
Jan 28 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
python使用matplotlib绘制雷达图
Oct 18 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 Python
Python实现AES加密,解密的两种方法
Oct 03 Python
Opencv python 图片生成视频的方法示例
Nov 18 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英文字符串截取代码分享
2014/07/15 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
js中widow.open()方法使用详解
2013/07/30 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
Python机器学习之决策树算法
2017/12/22 Python
Django 路由控制的实现代码
2018/11/08 Python
pandas 将索引值相加的方法
2018/11/15 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
汽车驾驶求职信
2013/10/25 职场文书
心理健康教育制度
2014/01/27 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
会计岗位职责范本
2014/03/07 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
药房管理制度范本
2015/08/06 职场文书
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python