这个仓库包含了多个实用的 Python 自动化脚本,用于处理各种常见任务。
功能:全自动安装 WSL2 并配置 Ubuntu 20.04 和 22.04 双版本环境
特点:
- 自动启用 WSL 和虚拟机平台功能
- 自动下载和安装内核更新
- 配置清华镜像源,加速软件下载
- 自动创建用户并设置初始密码
- 支持断点续传和已安装版本检测
使用方法:
cd Install-WSL-Ubuntu
python install_wsl_ubuntu.py配置说明:在脚本顶部可修改用户名、密码、安装路径等参数。
功能:批量下载中国大学 MOOC 平台的课程视频
特点:
- 自动获取并缓存登录 Cookie
- 多线程下载 TS 分片
- 支持断点续传
- 自动选择视频清晰度
- AES-128 加密流解密
- 使用 FFmpeg 合并为 MP4
依赖要求:
- FFmpeg
- Chrome/Edge 浏览器
- Python 依赖:
pip install requests beautifulsoup4 lxml tqdm pycryptodome playwright
使用方法:
- 修改
mooc_auto_download.py中的COURSE_URL为目标课程链接 - 运行脚本:
cd MoocDownloader
python mooc_auto_download.py功能:将大体积 PDF 文件按大小自动分割成多个小文件
特点:
- 智能估算每页大小,动态调整分割点
- 自动创建输出目录
- 避免重复处理已分割文件
依赖:pip install pikepdf
使用方法:
- 修改
pdfpdfsplit.py中的input_dir和max_size_mb参数 - 运行脚本:
cd pdfsplit
python pdfpdfsplit.py功能:批量将 SRT 字幕文件转换为纯文本文件,并可合并为总文件
特点:
- 自动过滤时间轴和序号
- 兼容 UTF-8 和 GBK 编码
- 跨盘符路径处理
- 自动为每个子文件夹生成总文本文件
使用方法:
- 修改
srt2txt.py中的target_root_dir参数 - 运行脚本:
cd srt2txt
python srt2txt.py功能:解析 Tello 无人机的二进制 DAT 日志文件,生成飞行数据图表
特点:
- 支持二进制 DAT 格式解析
- 修复 int64 溢出问题
- 生成 2D 飞行轨迹图
- 生成高度、速度、姿态角变化曲线
- 导出 CSV 数据文件
依赖:pip install pandas matplotlib
使用方法:
cd tello_log_parser
python tello_log_parser.py在弹出的对话框中选择要解析的 DAT 日志文件。
功能:使用 Ghostscript 压缩和修复 PDF 文件
特点:
- 自动在 Conda 环境中寻找 Ghostscript
- 强制修复损坏的 PDF 文件
- 平衡压缩比和图像质量
- 保留彩色内容
依赖:
- Ghostscript(推荐通过 Conda 安装)
conda install -c conda-forge ghostscript
使用方法:
- 修改
compress.py中的source_dir参数 - 运行脚本:
cd 压缩PDF
python compress.py功能:使用火山引擎豆包 API 批量为课程文本生成结构化笔记
特点:
- 使用 .env 文件管理 API 配置
- 支持断点续传,避免重复处理
- 自动重试机制处理网络波动
- 自然排序保证课程序号正确
- 自动保持源文件目录结构
依赖:
pip install python-dotenv requests配置说明:
- 在
ai笔记目录下创建.env文件:
DOUBAO_API_KEY=你的API密钥
DOUBAO_MODEL=你的模型名称
- 修改脚本中的
INPUT_FOLDER和OUTPUT_FOLDER路径
使用方法:
cd ai笔记
python ainotes.py功能:使用 OpenAI SDK 调用火山引擎豆包 API 批量生成课程笔记
特点:
- 使用 OpenAI 兼容接口,代码更简洁
- tenacity 库实现指数退避重试
- natsort 自然排序处理文件名
- pathlib 处理路径,更现代
- 自动跳过已生成的笔记
依赖:
pip install openai natsort tenacity使用方法:
- 修改
ainotes2.py中的API_KEY、SOURCE_DIR、OUTPUT_DIR和MODEL_NAME - 运行脚本:
cd ainotes2
python ainotes2.py- Python 3.7+
- 各工具所需依赖见上文说明
本项目仅供学习和个人使用。