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

相关推荐
天佑木枫1 分钟前
15天Python入门系列 · 序
开发语言·python
happylifetree1 分钟前
Python017-第二章15.数据容器-dict常用操作
python
问心无愧05138 分钟前
ctf show web入门110
前端·笔记
拉拉肥_King13 分钟前
Vue 3 主题切换深度解析:从炫酷动画到零闪烁方案
前端·vue.js
excel15 分钟前
为什么 Pinia + localForage 持久化后,页面初始化拿不到数据?
前端
装不满的克莱因瓶16 分钟前
了解 LangChain 中的 LLM 与 ChatModel 的差异
人工智能·python·ai·langchain·llm·agent·chatmodel
逍遥德16 分钟前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
雨雨雨雨雨别下啦18 分钟前
vant介绍
前端
小小小小宇18 分钟前
大模型失忆问题探讨
前端
云烟成雨TD21 分钟前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring