Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

Netkiller Python 手札

《Netkiller Python 手札》视频教程(2025版)

Mr. Neo Chan, 陈景峯(BG7NYT)



中国广东省深圳市望海路半岛城邦三期
518067
+86 13113668890


$Id: book.xml 640 2013-07-18 03:27:47Z netkiller $

电子书最近一次更新于 2025-02-24 21:30:56

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信公众号: netkiller
微信:13113668890 请注明“读者”
QQ:13721218 请注明“读者”
QQ群:128659835 请注明“读者”
知乎专栏

$Date: 2013-07-18 11:27:47 +0800 (Thu, 18 Jul 2013) $


目录

1. 自述
1.1. 写给读者
1.2. 作者简介
1.3. 如何获得文档
1.4. 打赏(Donations)
1.5. 联系方式
I. Python 语言
1. Python 入门
1.1. 如何快速学习 Python 语言
1.1.1. 学习编程的目的是什么?
1.1.2. 很多公司是怎么死的?
1.1.3. 学习定位问题?
1.1.4. 小白怎么入门呢?
1.1.5. 从入门到放弃
1.1.6. 为什么学不会?
1.1.7. 如何快速高效的学习一门语言?
1.1.8. 碎片化学习
1.2. Python 安装
1.2.1. Docker 安装
1.2.2. dnf 安装 python3.11
1.2.3. 编译安装 Python3.x
1.2.4. Ubunut 13.04 环境安装python3
1.2.5. pypy - fast alternative implementation of Python - PyPy interpreter
1.2.6. Eric Python IDE
1.2.7. python to exe
1.2.8. Python2.x
1.3. venv - Python 虚拟环境
1.3.1. Linux 建立虚拟环境
1.3.2. 苹果电脑 Z Shell 建立虚拟环境
1.3.3. 苹果电脑 fish Shell 建立虚拟环境
1.3.4. 进入虚拟环境
1.3.5. 退出虚拟环境
1.4. Python Package Index (PyPI)
1.4.1. 什么是 PyPI
1.4.2. 准备目录
1.4.3. 创建LICENSE文件
1.4.4. 项目描述文件
1.4.5. 库代码
1.4.6. setuptools 构建脚本
1.4.7. 构建包
1.4.8. 查看包
1.4.9. 上传包
1.4.10. 安装包
1.4.11. 使用包
1.4.12. 卸载包
1.4.13. Built distribution
1.4.14. 免密登录
1.4.15. 其他 Python 包管理工具
1.4.16. pip - A tool for installing and managing Python packages
1.5. Python 模块
1.5.1. 同级目录
1.5.2. 一级目录
1.5.3. 二级子目录
1.5.4. 子目录调用上级目录
1.5.5. 导入类
1.6. 数据类型
1.6.1. type 数据类型检测
1.6.2. 字符串
1.6.3. float 浮点数值
1.6.4. Array
1.6.5. 日期和时间
1.6.6. bytes 类型
1.6.7. 百分数
1.7. 数据结构
1.7.1. List
1.7.2. Set 集合
1.7.3. Dict 字典
1.7.4. Iterator
1.7.5. 序列化
1.7.6. 队列
1.8. Class
1.8.1. __init__ 构造方法
1.8.2. print class
1.8.3. inner class(内嵌类)
1.8.4. Python 枚举 Enum
1.9. 正则处理字符串
1.9.1. 正则替换
1.9.2. match
1.9.3. 正则查找
1.9.4. 正则匹配后返回字典
1.10. 循环
1.11. Input/Output 输出/输出
1.11.1. 标准输入/输出
1.11.2. Pipe
1.11.3. socketpair
1.12. Python 调试技巧
1.12.1. 显示代码所在文件行
2. Library
2.1. 文件和目录
2.1.1. 创建文件
2.1.2. 读取文件
2.1.3. 写入文件
2.1.4. 读取二进制文件
2.1.5. 文件名/扩展名
2.1.6. 创建目录
2.1.7. 权限判断
2.1.8. 判断文件/路径是否存在
2.1.9. 路径拼接
2.1.10. 目录和文件列表
2.1.11. os.scandir 扫描目录
2.1.12. 删除文件或目录
2.1.13. 路径操作
2.1.14. 复制文件
2.2. 随机数
2.2.1. 随机选择列表
2.2.2. 指定随机数范围
2.2.3. 指定随机数范围(整数)
2.2.4. 指定随机数范围(小数)
2.2.5. 打乱列表顺序
2.3. 进程与线程
2.3.1. subprocess
2.3.2. Python 多线程
2.3.3. 守护进程(Daemon)
2.4. 日志
2.4.1. logging
2.4.2. syslog
2.4.3. 日志彩色输出
2.5. 网络开发(Socket)
2.5.1. SimpleHTTPServer
2.5.2. UDP
2.5.3. Websocket
2.5.4. Network
2.6. YAML
2.6.1. 严格按段落展示 |、|+、|-
2.6.2. >、>+、>-
2.6.3. PyYAML
2.6.4. ruamel.yaml
2.7. Requests
2.8. httpx
2.8.1. 安装 https
2.8.2. 操作演示
2.8.3. 上传文件
2.8.4. Restful CRUD 操作
2.8.5. HTTP 2
2.8.6. BasicAuth
2.8.7. 异步请求
2.8.8. 日志输出
2.9. asyncio
2.9.1.
2.10. 终端环境开发
2.10.1. 命令行参数处理
2.10.2. getopt – Command line option parsing
2.10.3. ANSI Color
2.10.4. 进度条
2.10.5. texttable - module for creating simple ASCII tables
2.10.6. prompt_toolkit
2.10.7. Simple Terminal Menu
2.10.8. picotui
2.10.9. TUI
2.11. 验证码
2.11.1. 基本用法
2.11.2. Image CAPTCHAs
2.12. dbm Key-Value 数据库
2.13. keyboard
2.13.1. 读取键盘值
2.13.2. 功能键
2.13.3. 上下索道缆车开关门
2.14. GPS
2.14.1. gpsdclient
2.14.2. Traccar
2.15. ZeroRPC
2.16. fuse-python.x86_64 : Python bindings for FUSE - filesystem in userspace
2.17. Python-spdylay - Spdylay Python Extension Module
2.18. mechanize
2.19. python-memcached
2.20. python-subversion
II. Python 框架
3. Uvicorn
3.1. 代码启动
3.2. 命令行启动
3.3. 日志
4. FastAPI
4.1. HTML - FastAPI 加载 index.html
4.2. 路径参数
4.3. GET 请求
4.3.1. 返回图片
4.4. Post 请求
4.4.1. From 数据
4.4.2. Json 数据转为 dict
4.4.3. Data 原始数据
4.4.4. POST 接收 JSON 数据
4.4.5. 上传文件
4.5. 响应返回
4.5.1. Response
4.5.2. 返回 HTMl
4.5.3. PlainTextResponse
4.5.4. RedirectResponse
4.5.5. StreamingResponse
4.5.6. FileResponse
4.6. api_route
4.7. slowapi 流向控制
4.8. 异步执行
4.9. 缓存
4.9.1. 缓存 Json 数据结构
4.9.2. 自定义 key
4.10. HTTP Auth
4.11. SSE
4.12. 解决 Sqlalchemy 返回模型无法打印的问题
4.13. 返回二维码图片
4.14. Fief 认证框架
5. Robot Framework 测试框架
6. Web framework
6.1. Django
6.2. Pylons
6.2.1. Getting Started with Pylons
6.2.2. config/routing.py
6.2.3. mako template
6.3. Pyramid
6.3.1. Getting Started
6.3.2. Creating a Pyramid Project
6.4. Dominate
6.4.1. 创建一个 HTML
6.4.2. dominate
6.4.3. HTML Table
6.4.4. UL/LI
6.4.5. Dominate 与 Flask 集成
6.4.6. 装饰器
6.4.7. HTML 标记
6.5. BeautifulSoup
8. Sqlalchemy
8.1. 安装 Sqlalchemy
8.2. 链接测试
8.3. 创建表
8.4. Session
8.5. 模型定义
8.5.1. 定义字段
8.5.2. 主键 Primary Key
8.5.3. 外键
8.6. 增删改
8.7. 查询
8.8. 标签
8.9. 统计数量
8.10. 排序
8.11. 查询数据是否存在
8.11.1. 返回 exists SQL 语句
8.11.2. exists()
8.11.3. query.exists()
8.12. 返回指定列
8.13.
8.13.1. count
8.13.2. min/max
8.13.3. 平均值/求和
8.13.4.
III. 人工智能 AI
9. AI 相关
9.1. 什么是归一化?
9.1.1. 最小-最大 归一化(Min-Max Scaling)
9.2. 什么是残差
9.3. 网络模型的选择
9.4. 分类与标签
9.4.1. 二分类
9.4.2. 多分类
9.4.3. 多标签
9.4.4. 多任务分类
9.5. 向量数据处理
9.5.1. tokenizers
9.5.2. transformers
9.6. GPU
9.6.1. 检测显卡
9.6.2. 检测硬件
9.6.3. 安装CUDA开发包
9.6.4. 检验安装
9.6.5. pytorch 安装
9.6.6. NVIDIA cuDNN
9.7. NumPy
9.7.1. 随机数
9.7.2. 生成数列
9.7.3. 查看矩阵或者数组的维度
9.7.4. 数据类型
9.7.5. max
9.7.6. max
9.7.7. 显示矩阵
9.8. tensorflow
9.8.1. tensorboard
9.8.2. 加载模型
9.8.3. FAQ
10. PyTorch
10.1. 安装 torch
10.1.1. torchinfo
10.2. 显卡
10.3. Tensor 张量
10.3.1. 创建静态 Tensor
10.3.2. Tensor 尺寸
10.3.3. 创建连续数列的 Tensor
10.3.4. 创建0数据的 Tensor
10.3.5. 判断变量是否为 Tensor
10.3.6. 统计 Tensor 中的元素数量
10.3.7. 创建对角线为1的 Tensor
10.3.8. 将 numpy 转换成 tensor
10.3.9. 切分
10.3.10. 均匀分布数列
10.3.11. 正态分布数列
10.3.12. 随机数列
10.3.13. arange 创建等差数列
10.3.14. 获取最小值和最大值的索引
10.3.15. 连接两个 Tensor
10.3.16. 数据切块
10.3.17. 通过索引下标选择数据
10.3.18. 分割
10.3.19. 矩阵转换
10.3.20. 矩阵运算
10.3.21. view
10.4. Dataset
10.5. DataLoader
10.5.1. 显示数据集中的图片
10.6. Module
10.7. 保存/加载模型
10.8. torchvision
10.8.1. 安装 torchvision
10.8.2. transforms 数据转换
10.8.3. models 加载模型
10.8.4. datasets 数据加载
10.8.5. 打开图片
10.9. torchaudio
10.10. tensorboard
10.11. 音频处理
10.11.1.
10.11.2. 音频降噪
10.12. PyTorch 案例
10.12.1. mnist
11. Ultralytics
11.1. 安装 ultralytics
11.1.1. 标注工具 labelimg
11.1.2. labelme
11.1.3. anylabeling
11.1.4. 环境配置
11.1.5. JSON2YOLO
11.2. YOLO 命令行
11.2.1. GPU 相关
11.2.2. Apple Silicon M 系列芯片
11.3. Task 任务
11.3.1. 图像检测
11.3.2. 图像分割
11.3.3. 图像分类
11.4. YOLO
11.4.1. labels 文件格式
11.4.2. 模型训练
11.4.3. 模型评估
11.4.4. 模型预测
11.4.5. 模型导出
11.5. ONNX(Open Neural Network Exchange) 开放神经网络交换格式
11.6. 自动标注
11.6.1. 背景
11.6.2. 尺寸裁剪工具
11.6.3. 转换程序
11.6.4. 自动标注工具
11.6.5. LabelimgToYolo
11.6.6. 标签管理,标签删除工具
11.6.7. 图像分类数据处理
11.6.8. 合并 YOLO txt 文件
11.7. 案例
11.7.1. 识别验证码
11.7.2. json2yolo - segment
11.8. FAQ
11.8.1. To fix this issue, refer to the "Safe importing of main module"
11.8.2. ModuleNotFoundError: No module named 'onnx'
12. Sklearn
12.1. 生成回归样本数据
12.2. 鸢尾花数据集
13. Transformer
13.1. Vision Transformer
13.2. Transformer 和 Vision Transformer 最大区别是什么?
13.3. Transformer 和 Transforms 区别
13.4. Swin Transformer
13.4.1. 配置权重
13.5. FAQ
13.5.1. AttributeError: '_MultiProcessingDataLoaderIter' object has no attribute 'next'
14. OCR
14.1. EasyOCR
14.1.1. 安装 EasyOCR
14.1.2. 操作演示
14.1.3. 命令行运行
14.1.4. 函数
14.1.5. urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>
14.2. Tesseract
14.2.1. 安装 Tesseract
14.2.2. 演示 Tesseract
15. 语音处理
15.1. TTS(Text To Speech) 文本转语音
15.1.1. 安装 pyttsx3
15.1.2. 演示
15.1.3. 方法详解
15.1.4. 例子
15.2. STT(Speech To Text) 语音转文本
15.2.1. SpeechRecognition
15.2.2. DeepSpeech
15.3. Baidu AipSpeech
15.4. AI文字转语音模型Bark
15.5. Automatic Speech Recognition
15.5.1. kaldi
15.5.2. OpenAI Whisper
16. 人脸识别
16.1. 安装
16.2. 命令行工具
16.2.1. face_detection - 在单张图片或一个图片文件夹中定位人脸位置
16.2.2. face_detection - 在单张图片或一个图片文件夹中定位人脸位置
16.3. 定位头像位置
16.4. 人脸比较
16.5. 摄像头识别人脸
17. 自然语言处理
17.1. 全文索引(full-text index)
17.2. 人机对话
17.3. 情感分析
17.4. 常用的 Python 分词库
17.5. 结巴中文分词
17.5.1. 分词演示
17.5.2. 日志设置
17.5.3. 返回 generator
17.5.4. 返回 list
17.5.5. 精准模式与全模式比较
17.5.6. 精准模式与搜索引擎模式比较
17.5.7. 词性标注
17.5.8. 词典管理
17.5.9. 抽取文本标签
17.5.10. 返回词语在原文的起止位置
17.6. wordcloud
17.6.1. wordcloud_cli
17.6.2. WordCloud 对象配置参数
17.6.3. 与分词共用
17.6.4. 遮罩图
17.7. Transformers 自然语言处理
17.8. 汉字转拼音
17.8.1.
17.8.2. pypinyin
18. OpenAI
18.1. ChatGPT
18.1.1. openai api 1.0
18.1.2. gpt-3.5-turbo
18.1.3. 流式输出
18.2. Embedding
19. LangChain
19.1. 拆分文档
19.2. 拆分文档
19.2.1. 拆分文本
19.2.2. 拆分代码
19.2.3. 拆分 Markdown 文档
19.2.4. 按token拆分
19.3. ChatGPT
19.4. 相似度搜索
20. 图形开发
20.1. SVG 图形库
20.1.1. 安装
20.1.2. 绘制多边形
20.1.3. SVG 事件
20.2. 二维码
20.2.1. qrcode
20.2.2. MyQR
20.2.3. 从图片识别二维码
20.2.4. 从摄像头识别二维码
20.3. graphviz
20.3.1. 安装 graphviz 环境
20.3.2. 例子
20.4. Pyro - Pyro is short for PYthon Remote Objects
20.5. Python Imaging Library
20.6. OpenCV
20.6.1. 安装 OpenCV
20.6.2. 显示图片
20.6.3. 将BGR图像转为RGB
20.6.4. uint8 格式
20.6.5. 应用Canny边缘检测
20.6.6. 摄像头捕捉图像
20.6.7. imread()
20.7. PIL(Python Imaging Library)Python 图像处理库
20.7.1. 安装
20.7.2. 缩放图像与尺寸修改
20.7.3. 叠加图像
20.7.4. 图像旋转
20.7.5. 获取图片信息
20.7.6. 创建空图像
20.7.7. 裁剪
20.7.8. 彩色转灰度
20.7.9. RGB 通道操作
20.7.10. 像素操作
20.7.11. 图像上加文字
20.7.12. 明暗调整
20.7.13. PIL 与 Numpy 相互转换
20.7.14. 比较两张图片
21. 音频和视频
21.1. 摄像头
21.2. 音频处理
21.2.1. 网络播放音频
21.3. MoviePy
21.3.1. 安装 MoviePy
21.3.2. 图片处理
21.3.3. 图片转视频
21.3.4. 图片生成视频
21.3.5. 图片裁剪
21.3.6. 音频处理
21.3.7. 视频处理
21.3.8. 效果处理
21.3.9. 字幕
21.3.10. 音量大小调节
21.3.11. 视频中设置背景音乐
21.3.12. 画面截图
21.3.13. FAQ 常见问题
21.4. Webrtc/Ortc
21.4.1. coturn - ICE Server
21.4.2. NVR(Network Video Recorder)网络视频录像机
21.4.3. Webcam 网络直播
IV. Python 数据分析
22. Crawler
22.1. Scrapy - Python web scraping and crawling framework
22.1.1. 安装 scrapy 开发环境
22.1.2. scrapy 命令
22.1.3. Scrapy Shell
22.1.4. 爬虫项目
22.1.5. 下载图片
22.1.6. xpath
23. Pandas - Python Data Analysis Library
23.1. 安装 pandas
23.2. 数据输入与输出
23.2.1. Pandas 处理 HTML
23.2.2. Excel 处理
23.2.3. Pandas 读写 CSV 文件
23.2.4. Pandas SQL
23.3. 数据帧(DataFrame)
23.3.1. 什么是 DataFrame
23.3.2. 如何创建 DataFrame
23.3.3. 行与列操作 index/columns
23.3.4. 数据访问
23.3.5. 添加操作
23.3.6. 删除操作
23.3.7. 插入数据
23.3.8. 替换操作
23.3.9. 筛选
23.3.10. 排序
23.3.11. 分类聚合
23.3.12. 数据去重
23.3.13. 数据格式化
23.3.14. 迭代输出
23.4. 序列
23.4.1. 创建 Series 对象
23.4.2. Series 运算
23.4.3. Series 常用方法
23.5. 数据可视化
23.5.1. 演示代码
23.5.2. 中文支持
23.5.3. 开启网格
23.5.4. 坐标轴
23.5.5. 边框设置
23.5.6. plot 设置
23.5.7. 保存为图片
23.5.8. matplotlib 绘图风格
23.6. Pandas 实用函数
23.6.1. 日期范围
23.6.2.
23.7. FAQ
23.7.1. xlrd.biffh.XLRDError: Excel xlsx file; not supported
23.7.2. Missing optional dependency 'xlrd'
24. 股票
24.1. easyquotation - 快速获取新浪/腾讯的全市场行情
24.1.1. 安装
24.1.2. 演示
24.2. akshare
25. 数据可视化
25.1. matplotlib
25.1.1. 直方图
25.1.2. 显示中文
25.1.3. 修改图像尺寸
25.2. pyecharts
26. 自动化运维
26.1. 日志中心
26.1.1. 什么是日志中心
26.1.2. 工作原理
26.1.3. 安装
26.1.4. 命令
26.1.5. 操作演示
26.2. Python 开发防火墙
26.2.1. 我为什么要开发一个防火墙软件?
26.2.2. 安装 Python 防火墙
26.2.3. 切换防火墙规则
26.2.4. 规则库
26.3. 监视文件系统
26.3.1. watchdog
26.3.2. pyinotify
26.4. 容器
26.4.1. 在 Docker 容器中运行 Python 项目
26.4.2. 在 kubernetes 中部署项目
27. 办公自动化
27.1. Python 处理 PDF 文件
27.1.1. Word 转 PDF
27.1.2. 提取 PDF 文件中的文字和表格
27.1.3. PyPDF2
27.2. Word 文字处理
27.2.1. 安装
27.2.2. 创建空白文档
27.2.3. 添加标题
27.2.4. 添加段落
27.2.5. 列表
27.2.6. 表格
27.2.7. 添加图片
27.2.8. 强制分页
27.2.9. 样式
27.2.10. 演示例子
27.2.11. 另存操作
27.2.12. 读取 Word 文档
27.2.13. Word 模版合并
27.3. Python 处理 Excel
27.3.1. openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files
27.3.2. xlrd/xlwt/xlutils
27.3.3. xlwings
28. 实用代码
28.1. 随机生成姓名
28.2. 心知天气
29. FAQ
29.1. ImportError: No module named 'zlib'
29.2. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 679: invalid start byte
29.3. ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

范例清单

2.1. SimpleHTTPServer
2.2. memcached.py
6.1. __init__.py
16.1. 找出图片中头像
23.1. Pandas 打开工作表的四种方法
28.1. 随机生成姓名
28.2. 词库生成姓名