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中__call__用法实例
Aug 29 Python
Python魔术方法详解
Feb 14 Python
python3爬取淘宝信息代码分析
Feb 10 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
python自动化生成IOS的图标
Nov 13 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
django-filter和普通查询的例子
Aug 12 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
浅析Python面向对象编程
Jul 10 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
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
python使用psutil模块获取系统状态
2016/08/27 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
Python类的继承用法示例
2019/01/31 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
python实现的生成word文档功能示例
2019/08/23 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
房地产销售计划书
2014/01/10 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2014年居委会工作总结
2014/12/09 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
刑事附带民事代理词
2015/05/25 职场文书
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers