趁着课余时间学点Python(十五)有趣的小模块
一、Python模块与包
python中模块与包的含义
1. Python模块与包
模块是单个的py文件,包是包含多个py文件的文件夹
1.1 模块
模块是一个py文件
我们自己创建一个py文件就是一个模块
我们可以对他进行导入的操作,然后使用
-
自定义模块:textmodel.py
def print_f(a): print(a)
-
另一个py文件:模块.py
导入的时候记得要让两个文件同路径
我们导入自定义模块,然后使用自定义函数
# 第一种方法 import textmodel textmodel.print_f("第一种方法:直接导入 测试成功") # 第二种方法 from textmodel import print_f print_f("第二种方法:精确导入某函数 测试成功") # 第三种方法 import textmodel as tm tm.print_f("第三种方法:导入起别名 测试成功")
导入别人的模块和内置模块也可以这样
项目文件夹:
1.2 包
包就是一个含有__init__.py
的文件夹
我们在项目目录下创建一个文件夹text
,然后在里面放一个__init__.py
的文件
这样就是一个包了
-
在text文件夹新建一个
textpackage.py
def print_f(a): print(a)
-
和text同目录的
模块.py
文件from text import textpackeg textpackeg.print_f("包测试成功")
项目文件夹:
text文件夹:
2. 有趣有用的库
Python模块千千万,有趣有用占一半。
你是否知道这几个模块呢?他们的作用都是我们平常使用的。让我们一起来看看这些模块吧!
有的模块功能众多,这里只列出一些好玩的功能
2.1 链接生成二维码
你可曾自己动手做过二维码吗?花了多少时间?花了钱吗?
没关系,这个模块两行命令直接将你的网址/链接转成二维码,支持有图背景,无图背景等形式。
模块名:myqr
安装方式:pip自动安装
打开cmd键入
pip install myqr
然后静静等待安装完成就可以了~~
安装完成后,不需要打代码,还是cmd命令界面
使用格式:myqr 网址 -p 自定义图片路径 -c
实例分析:
普通图片二维码:
网址链接:https://blog.csdn.net/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.jpg
命令:myqr https://blog.csdn.net/m0_52883898 -p C:\ITStudy\ITtools\pythontool\test.png -c
在cmd键入命令后,如果得到这样的提示,就是成功了
line 16: mode: byte
Succeed!
Check out your 4-H QR-code: C:\Users\Smly\test_qrcode.png
打开我们生成的二维码瞅一瞅:
动态图二维码:
网址链接:https://blog.csdn.net/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.gif
命令:myqr https://blog.csdn.net/m0_52883898 -p C:\ITStudy\ITtools\pythontool\test.gif -c
成功:
It may take a while, please wait for minutes...
line 16: mode: byte
Succeed!
Check out your 4-H QR-code: C:\Users\Smly\test_qrcode.gif
打开瞅瞅:
2.2 视频转gif
作为博主,有时候会面对一些很苦恼的事情,就是代码效果一张图片塞不下,多张图片不好看,md有没法放视频,所以需要视频转gif,就很有用了。
他就是moviepy库,当然他的功能不仅仅是视频转gif,还有更多功能等你来看哦
-
安装
pip install moviepy
-
写代码
import moviepy.editor as mp #视频文件的本地路径 con = mpy.VideoFileClip("C:\\ITStudy\\ITtools\\pythontool\\test.mp4") # 截取帧数 c1 = content.subclip(0, 30) # 将片段保存为gif到"C:\\ITStudy\\ITtools\\pythontool\\moviepytest.gif" c1.write_gif("C:\\ITStudy\\ITtools\\pythontool\\moviepytest.gif")
-
运行代码,等待运行完成
看看效果:
2.3 随机数生成
有时会需要使用到随机数,这时候就需要我们的random模块
用法不难,如下:
import random
# 生成10个0-10的整数
for i in range(10):
print(random.randint(0,10))
# 生成10个0-1的数
for i in range(10):
print(random.random())
2.4 时间模块
有时候我们会想记录我们代码所运行的实际时间
import time
start = time.time() # 当前时间戳
a = 1000**100000
end = time.time() # 获取计算完成的时间戳
runTime = end - start # 计算所花的时间
print("本次计算耗时:{}".format(runTime))
2.5 词云生成
你是否想要生成一个自己所拥有的词云图呢?这个模块可以帮到你!wordcloud
有些依赖模块需要安装,我只介绍简单的词云
安装会有问题,建议下载源代码,使用文件安装,不适用pip
英文词云:
from wordcloud import WordCloud
# 1.读入txt文本数据
text = open(r'test.txt', "r",encoding = 'utf-8').read()
# 2.生成词云图,这里需要注意的是WordCloud默认不支持中文
# 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'
wc = WordCloud(
# 设置背景色
background_color='white',
# 设置背景宽
width=500,
# 设置背景高
height=350,
# 最大字体
max_font_size=50,
# 最小字体
min_font_size=10,
mode='RGBA',
)
# 产生词云
wc.generate(text)
# 保存图片
wc.to_file(r"wordcloud.png") # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
3. 把自己的模块上传到网络
详情请看这篇博客保姆级教程带你开发优质的Python库之上篇【建议收藏】
结语
兴趣是最好的老师,坚持是不变的真理。 学习不要急躁,一步一个脚印,踏踏实实的往前走。 每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。
我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!
说了这么多暂时也就够了,那么就告辞吧 你想学的,我这里都有!! 点击链接加入群聊【Python全栈技术学习交流】
- 点赞
- 收藏
- 关注作者
评论(0)