Python 5:使用库

库 是预先写好 的可复用代码 ,能帮助开发者提升 效率。 荀子"善假于物"的思想正体现了利用工具的重要性。

一门编程语言能否流行,既 取决于语法是否简单,也 取决于生态(即库的丰富程度)是否完备。

按来源 ,库分为标准库(语言自带,可直接使用)和第三方库(需额外安装,任何人都可以开发并发布供他人使用)。

1.标准库--import

Python 自身内置了非常丰富的库

官方文档:https://docs.python.org/3.10/library/index.html

使用 import 导入模块 (单独的**.py** 文件)到当前文件 中,并执行其中的代码。


1.1 日期计算

datetime 这个模块里面恰好有个同名的 datetime 类

1.2 文件查找工具

在包含大量目录和文件的文件系统中,想找到某个特定文件需要递归查找 :从根目录开始,遇到子目录 就进入继续查找,直到遍历完所有层级。

os.walk 是 Python 内置的目录遍历工具,自动完成递归遍历 ,无需手写递归代码。只需一个简单的for 循环 ,就能遍历指定路径下的所有目录和文件。


用户输入 待搜索路径 和待搜索关键词 ,程序在该路径下递归查找文件名中包含关键词的文件,并打印其完整路径。

2.第三方库--pip

第三方库是别人写好、可直接拿来用的代码,扩展 了标准库之外的功能。

可以通过百度、搜狗、Bing 等搜索引擎查找合适的库 ;确定用哪个库后,用 pip 命令安装。

2.1 pip介绍

pip 就是Python 的"应用商店",能直接从PyPI 网站 下载并安装 你想要的库,由 Python 官方维护,像"应用商店的服务器 ",专门收集各种第三方库。

https://pypi.org/https://pypi.org/

安装 Python 时会自动装上pip ,可以直接 在命令行使用,无需额外安装。

如果提示 :'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件;则需要 手动把 pip 所在的路径加入到 PATH 环境变量 中,或卸载重装Python,记得勾上上述选项。

https://www.jianshu.com/p/1de0acf7185d


2.2 pip使用

使用 pip install 库名 命令, 即可安装第三方库。

这个命令需要从网络上下载, 使用时要保证网络畅通 ;安装成功后, 即可使用 import导入相关模块, 即可进行使用。


2.3 生成二维码

(1)通过搜索引擎, 确定使用哪个库。


(2)在PyPI 网站 上搜索 qrcode ,查看 qrcode 文档,获取pip命令。

https://pypi.org/【官方文档更准确】

文档开头描述了如何安装 qrcode

页面中央位置描述了 qrcode 库的使用方法

导入 qrcode 模块;调用 qrcode.make() 函数,把任意字符串 转换成一个二维码图片对象 img;查看 img 的生成类型;

调用图像对象的 save 方法,将二维码保存为图片文件 some_file.png,也可以放在其他路径下。


**(3)**安装第三方库 : pip install qrcodepil


(4)编写代码

2.4 操作 excel

求 100 班的同学的平均分 D:/test.xlsx

读取 excel 可以使用xlrd 模块https://xlrd.readthedocs.io/en/latest/https://xlrd.readthedocs.io/en/latest/

修改 excel 可以使用 xlwt模块https://xlwt.readthedocs.io/en/latest/https://xlwt.readthedocs.io/en/latest/

此处以xlrd为例,演示 excel 的基本操作。


**(1)**安装第三方库 xlrd

pip install xlrd==1.2.0

此处要指定版本号 安装,如果不指定版本号,则安装最新版,但最新版里删除了对 xlsx 格式文件的支持。


(2)编写代码

2.5 操作音频文件

监听键盘按键 , 每按键20 下, 就自动播放一个音频。

(1)安装第三方库

pynput 用于监听键盘按键 ,注意版本不要 用最新;playsound 用于播放音频。

pip install pynput==1.6.8

pip install playsound==1.2.2


(2)准备音频文件:yuai.mp3

此处准备了雨爱的mp3 ,放到和 py 代码同级目录中。

也可以直接复制粘贴 到python中,放在文件夹里也可以,在代码中加上路径 'xx/yuai.mp3' 即可。


(3)编写代码


函数介绍


若想随机播放多个音频 ,创建列表,设置随机数即可。

python 复制代码
import random

from pynput import keyboard
from playsound import playsound

mp3List = ['mp3/baby.mp3', 'mp3/yuai.mp3',
           'mp3/LoveYourself.mp3']
count = 0 #记录用户按键盘次数
def onRelease(key):
    print(key)
    global count #引入全局变量
    count += 1
    #每按10次按键,播放音频
    if count % 10 == 0:
        #生成0-2的随机整数
        i = random.randint(0, len(mp3List)-1)
        playsound(mp3List[i])

# 创建好Listener后,用户在键盘按键的动作就被会捕获到
# 希望在捕获后执行一段代码,在前面定义函数
listener = keyboard.Listener(on_release=onRelease)
listener.start()
listener.join()

(4)改进代码

上述代码在执行过程中,会感觉到播放音频 会导致按键卡顿 ,可以使用多线程解决这个问题。

3.字符串例题

字符串 是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用。

3.1 翻转单词顺序

https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/description/

3.2 旋转字符串

https://leetcode.cn/problems/rotate-string/description/

3.3 统计是给定字符串前缀的字符串数目

https://leetcode.cn/problems/count-prefixes-of-a-given-string/description/

4.学生管理系统

5.扩展

awesome-python 整理了 Python 的一些非常实用的程序库。

https://gitee.com/awesome-lib/awesome-python

500 Lines or Less 使用简短 的 Python 代码来实现一些有意思的程序。

https://github.com/aosabook/500lines

相关推荐
孙浩君8 分钟前
0行手写代码,我用AI做了一个打工人模拟器(含3D霓虹城市漫游)
前端·后端
夏天要喝冰可乐9 分钟前
用 Codex 连接 Blender,我做了一块可以走进楼宇的大屏
前端·three.js
小小张说故事10 分钟前
Python 的整数为什么永远不会溢出?拆开大整数对象,看 30 位一节的存储与运算代价
python
会编程的吕洞宾14 分钟前
Spring AI 2.0 结构化输出实战:让大模型返回精准 JSON 不再“抽风“,准确率从 78% 拉到 99%
java·后端
项目題供诗17 分钟前
ai大模型(三)
java
醒醒11120 分钟前
从微信小程序到全端:一个安全扫描器的演进之路(v0.5.0 → v0.6.0)
前端·安全
seconp21 分钟前
计算机毕设做什么项目?整理了 80 个 Web、小程序、AI 与数据方向
前端·小程序·课程设计
用户2986985301426 分钟前
Python 实现 Word 与 TIFF 双向转换的方案
后端·python·api
代码小学僧35 分钟前
如何低成本部署网站?Vercel 和 Cloudflare 怎么选?
前端·后端·serverless
wangjialelele36 分钟前
一文梳理 Spring Cloud 核心组件:Eureka、Nacos、OpenFeign、LoadBalancer 与 Gateway
java·spring boot·spring·spring cloud·微服务·nacos