python导包的几种方法(自定义包的生成以及导入详解)


Posted in Python onJuly 15, 2019

python是一门灵活的语言,也可以说python是一门胶水语言,顾名思义,就是其可以导入各类的包,python的包可以说是所有语言中最多的。当然导入包大部分是为了更快捷,更方便,效率更高。对于刚入门的python爱好者来说最初接触的应该是import直接导入包的方式,例如 import time,就是导入了python的time包,这个包中的方法可以处理大部分我们项目中遇到的关于时间的问题。

下面我会详细介绍几种导入包的方式(在开发过程中绝对够用)以及怎样把其他文件夹中的python模块生成我们可以应用的包。

1.import 常规导入,直接导入整个包的所有的功能函数。

例如:import time, 用import直接导入 python的time模块。

python导包的几种方法(自定义包的生成以及导入详解)

2.import多个导入,导入多个包的所有功能函数。

python导包的几种方法(自定义包的生成以及导入详解)

3.from … import …导入整个包的部分功能函数。

第一个导入的是:导入random模块(包)的randint函数。
第二个导入的是:导入time模块(包)的time以及localtime函数,中间用,隔开。

python导包的几种方法(自定义包的生成以及导入详解)

4.当然也可以通过from … import * 这个也是直接导入包的所有功能。相当于import …

python导包的几种方法(自定义包的生成以及导入详解)

5.重要的,在实际的应用中用得也是比较多的,我们自定义我们自己写的功能包。

下面说的详细一点。

首先在任意路径创建一个文件夹,来放我们自定义的包的文件。

我的是创建在/home/xyh/test_package,下边是我的目录结构。要在另一个不相关的文件夹下的python应用中引用到我们自定义的包。就是在/home/xyh/test_package2/use_lucky_package.py中导入lucky_package.py这个包,测试直接import lucky_package.py或者直接from test_package import lucky_package.py是不行的。

python导包的几种方法(自定义包的生成以及导入详解) 

直接导入,出现程序运行错误提示信息:

python导包的几种方法(自定义包的生成以及导入详解)

要想成功导入需要做的两步:

第一:在test_package文件夹中创建_init_.py文件,里边什么都不需要编辑。

第二:在代码中把test_package的文件的路径加入到python解释器可以搜索到的路径列表中,这里就用到了python的包sys模块。

下边是运行过一次的目录结构:pyc文件是py文件编译后生成的字节码文件,不需要自己创建,在你第一次成功导入包并运行成功之后会自动生成。

python导包的几种方法(自定义包的生成以及导入详解)

下面附上lucky_package.py(包程序)以及use_lucky_package.py(引用包程序)的简单源码:

lucky_package.py

#_*_coding:utf-8_*_
# 导入random模块,我们要制作的包要用
import random

# 定义自定义包模块的简单功能
def test():
 print(random.randint(1,10))
 return('hello world')

use_lucky_package.py

#_*_coding:utf-8_*_
import sys

# 动态添加test_package文件夹的路径,为了能让此文件夹下的
# 自定义包成功的导入
# 要根据你自己的实际包的模块来决定路径。
sys.path.append('../')

# 打印所有python解释器可以搜索到的所有路径
print(sys.path)

# 导入自定义包
from test_package.lucky_package import *

# 输出lucky_package中test函数的结果:
result = test()
print(result)

运行以上代码结果:

python导包的几种方法(自定义包的生成以及导入详解)

其实对于不经常使用python的使用者来说,导入模块可能是个很头疼的事情,他们并不知道python的导入包的机制其实是非常灵活的,当你大概知道了python解释器是怎样去查找并引用这些包的时候,那么你写的所有程序功能都可以作为包来供你调用,只要你开心。希望通过本篇文章能够帮助解决在python使用中因为导包而带来的困扰。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过C++学习Python
Jan 20 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
Django实现单用户登录的方法示例
Mar 28 Python
python实现银联支付和支付宝支付接入
May 07 Python
提升python处理速度原理及方法实例
Dec 25 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
Python将文字转成语音并读出来的实例详解
Jul 15 #Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 #Python
Python符号计算之实现函数极限的方法
Jul 15 #Python
在python 中split()使用多符号分割的例子
Jul 15 #Python
Python-Seaborn热图绘制的实现方法
Jul 15 #Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 #Python
python 用所有标点符号分隔句子的示例
Jul 15 #Python
You might like
西德产收音机
2021/03/01 无线电
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
Python验证码识别处理实例
2015/12/28 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
python实现电子产品商店
2019/02/26 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
Python常用断言函数实例汇总
2020/11/30 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
python re模块和正则表达式
2021/03/24 Python
什么是岗位职责
2013/11/12 职场文书
运动会入场式解说词
2014/02/18 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
政工例会汇报材料
2014/08/26 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
小学教育见习报告
2014/10/31 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
单位接收证明格式
2015/06/18 职场文书
中学校园广播稿
2015/08/18 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书