Python中如何添加自定义模块

 更新时间:2020-06-10 01:04:30   作者:佚名   我要评论(0)

一般来说,我们会将自己写的Python模块与python自带的模块分开存放以达到便于维护的目的。那么如何在Python中添加自定义的模块呢?
在解答这个问题之前,我们首先要

一般来说,我们会将自己写的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引入不同文件夹下的自定义模块方法
  • Python3导入自定义模块的三种方法详解
  • python引入导入自定义模块和外部文件的实例
  • Python import自定义模块方法

相关文章

  • Python中如何添加自定义模块

    Python中如何添加自定义模块

    一般来说,我们会将自己写的Python模块与python自带的模块分开存放以达到便于维护的目的。那么如何在Python中添加自定义的模块呢? 在解答这个问题之前,我们首先要
    2020-06-10
  • keras实现调用自己训练的模型,并去掉全连接层

    keras实现调用自己训练的模型,并去掉全连接层

    其实很简单 from keras.models import load_model base_model = load_model('model_resenet.h5')#加载指定的模型 print(base_model.summary())#输出网络的结构图
    2020-06-10
  • Python小白垃圾回收机制入门

    Python小白垃圾回收机制入门

    引用计数 Python默认的垃圾收集机制是“引用计数”,每个对象维护了一个ob_ref字段。它的优点是机制简单,当新的引用指向该对象时,引用计数加1,当一个对象的引用被
    2020-06-10
  • 使用 UniApp 实现小程序的微信登录功能

    使用 UniApp 实现小程序的微信登录功能

    1.微信登录思路: 在main.js 中封装公共函数,用于判断用户是否登录 在main.js 中分定义全局变量,用于存储接口地址 如果没有登录、则跳转至登录页面 进入
    2020-06-10
  • Mysql 查询数据库容量大小的方法步骤

    Mysql 查询数据库容量大小的方法步骤

    查询所有数据库的总大小 方法如下: mysql> use information_schema; mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABL
    2020-06-09
  • 在python下实现word2vec词向量训练与加载实例

    在python下实现word2vec词向量训练与加载实例

    项目中要对短文本进行相似度估计,word2vec是一个很火的工具。本文就word2vec的训练以及加载进行了总结。 word2vec的原理就不描述了,word2vec词向量工具是由google
    2020-06-09
  • 解决PhpStorm连接VirtualBox失败的问题

    解决PhpStorm连接VirtualBox失败的问题

    问题描述:phpstorm的SFTP host设置成192.168.122.1时连接不上,但虚拟机内能正常打开。 1.打开VirtualBox,设置->网络,连接方式选择桥接网卡。 (如果选择不了可
    2020-06-09
  • python初步实现word2vec操作

    python初步实现word2vec操作

    一、前言 一开始看到word2vec环境的安装还挺复杂的,安了半天Cygwin也没太搞懂。后来突然发现,我为什么要去安c语言版本的呢,我应该去用python版本的,然后就发现了
    2020-06-09
  • Python生成随机验证码代码实例解析

    Python生成随机验证码代码实例解析

    生成6位随机验证码的3种实现方式如下: 1. 简单粗暴型:所有数字和字母都放入字符串; 2. 利用ascii编码的规律,遍历获取字符串和数字的字符串格式; 3. 引用string
    2020-06-09
  • zabbix 添加你需要监控的主机

    zabbix 添加你需要监控的主机

    添加监控主机 主机192.168.179.104添加进zabbix监控项(在192.168.179.104安装上zabbix-agent) #添加监控主机,注意zabbix版本要和server端一致 [root@localhost
    2020-06-09

最新评论