第三方库就是别人已经实现好了的库, 我们可以拿过来直接使用.
虽然标准库已经很强大了, 但是终究是有限的. 而第三方库可以视为是集合了全世界 Python 程序猿的智慧, 可以说是几乎无穷无尽.
问题来了, 当我们遇到一个需求场景的时候, 如何知道, 该使用哪个第三方库呢?
就需要用到下面几个网站了:
当我们确定了该使用哪个第三方库之后, 就可以使用 pip 来安装第三方库了.
pip 是 Python 内置的 包管理器.
所谓 包管理器 就类似于我们平时使用的手机 app 应用商店一样.
第三方库有很多, 是不同的人, 不同的组织实现的. 为了方便大家整理, Python 官方提供了一个网站PyPI https://pypi.org/, 来收集第三方库.
其他大佬写好的第三方库也会申请上传到 PyPI 上.
这个时候就可以方便的使用 pip 工具来下载 PyPI 上的库了.
pip 在我们安装 Python 的时候就已经内置了. 无需额外安装.
pip 是一个可执行程序, 就在 Python 的安装目录中.
打开 cmd, 直接输入 pip. 如果显示以下帮助信息, 说明 pip已经准备就绪
如果最开始按照要求在安装 Python 的时候勾选了:
Add Python 3.10 to PATH
那么 pip 就是默认可用的.
如果提示
'pip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
则说明没有正确的把 pip 加入到 PATH 中, 可以手动把 pip 所在的路径加入到 PATH 环境变量中. (参考 https://www.jianshu.com/p/1de0acf7185d)
或者卸载重装 Python, 记得勾上上述选项, 也许是更简单的办法.
使用以下命令, 即可安装第三方库
pip install [库名]
注意: 这个命令需要从网络上下载, 使用时要保证网络畅通.
安装成功后, 即可使用 import 导入相关模块, 即可进行使用.
注意: 如果使用 pip 安装完第三方库之后, 在 PyCharm 中仍然提示找不到对应的模块, 则检查 Settings ->Project -> Python Interpreter , 看当前 Python 解释器设置的是否正确. (如果一个机器上安装了多个版本的 Python, 容易出现这种情况).
得到情报, qrcode 这个库, 可以用来生成二维码
在 PyPI 上搜索 qrcode
点击则进入 qrcode 的详情页.
文档开头描述了如何安装 qrcode
页面中央位置描述了 qrcode 库的使用方法
pip install qrcode[pil]
注意: pip 安装的时候可能会有警告, 提示使用的 pip 版本太低. 这个警告我们不必处理, 不影响我们正常使用.
按照文档给出的示例, 模仿一段代码
import qrcode
img = qrcode.make('新年快乐!!!')
img.save('qrcode.png')
运行完毕后, 得到结果如下:
使用微信或者其他工具扫码, 即可看到二维码内容.
所谓二维码, 本质上就是使用黑白点阵表示一个字符串.
我们日常使用的二维码内部一般是一个 URL, 扫码后会自动跳转到对应的地址, 从而打开一个网页.
读取 excel 可以使用 xlrd 模块. 文档地址: https://xlrd.readthedocs.io/en/latest/
修改 excel 可以使用 xlwt 模块. 文档地址: https://xlwt.readthedocs.io/en/latest/
此处以 xlrd 为例, 演示 excel 的基本操作.
需求 有如下 excel 表格 d:/test.xlsx
求 100 班的同学的平均分.
虽然 excel 自身支持很强大的功能, 也可以求和, 求平均值. 但是如果是稍微复杂的需求, 操作起来可能就没那么方便了
pip install xlrd==1.2.0
注意: 此处要指定版本号安装. 如果不指定版本号, 则安装最新版. 最新版里删除了对 xlsx 格式文件的支持
import xlrd
# 1. 打开 xlsx 文件
xlsx = xlrd.open_workbook('d:/test.xlsx')
# 2. 获取 0 号标签页. (当前只有一个标签页)
table = xlsx.sheet_by_index(0)
# 3. 获取总行数
nrows = table.nrows
# 4. 遍历数据
count = 0
total = 0
for i in range(1, nrows):
# 使用 cell_value(row, col) 获取到指定坐标单元格的值.
classId = table.cell_value(i, 1)
if classId == 101:
total += table.cell_value(i, 2)
count += 1
print(f'平均分: {total / count}')
监听键盘按键, 每按键 20 下, 就自动播放一个音频, 鼓励一下辛苦搬砖的自己。
pip install pynput==1.6.8
pip install playsound==1.2.2
此处准备了一个 ding.mp3 放到和 py 代码同级目录中.
from pynput import keyboard
from playsound import playsound
count = 0
def on_release(key):
print(key)
global count
count += 1
if count % 10 == 0:
playsound('ding.mp3')
listener = keyboard.Listener(
on_release=on_release)
listener.start()
listener.join()
运行程序, 即可感受到效果
上述代码在执行过程中, 会感觉到播放音频会导致按键卡顿. 可以使用多线程解决这个问题.
关于多线程的知识, 在此处不详细介绍.
使用 threading.Thread 引入多线程类.
使用 Thread 的构造函数来构造一个线程. target 表示线程要执行的任务, args 表示 target 中要调用函数的参数.
使用 Thread.start() 启动线程.
from pynput import keyboard
from playsound import playsound
from threading import Thread
count = 0
def on_release(key):
print(key)
global count
count += 1
if count % 10 == 0:
t = Thread(target=playsound, args=('ding.mp3',))
t.start()
#playsound('ding.mp3')
listener = keyboard.Listener(
on_release=on_release)
listener.start()
listener.join()
0:
t = Thread(target=playsound, args=(‘ding.mp3’,))
t.start()
#playsound(‘ding.mp3’)
listener = keyboard.Listener(
on_release=on_release)
listener.start()
listener.join()