feat: 添加多个功能模块和工具脚本

- 新增websocket客户端和服务端实现
- 添加图片压缩工具和快速压缩脚本
- 实现学生信息处理相关API
- 添加MQTT客户端和消息处理功能
- 更新.gitignore忽略更多文件类型
- 添加数据库操作工具和示例
- 实现多个测试脚本和工具类
This commit is contained in:
2026-04-13 14:47:50 +08:00
parent 2cfd7c5a08
commit aac9f5934d
87 changed files with 216279 additions and 6519 deletions
+90
View File
@@ -0,0 +1,90 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
压缩照片使用示例
"""
import os
from 压缩照片 import compress_single_file, compress_directory
def demo_compress_single():
"""演示单个文件压缩"""
print("=== 单个文件压缩示例 ===")
# 示例:压缩单个文件
test_file = "./students/何杨.jpg" # 替换为你的文件路径
if os.path.exists(test_file):
print(f"压缩文件: {test_file}")
success = compress_single_file(test_file, max_size_mb=3)
if success:
print("✓ 压缩成功!")
else:
print("✗ 压缩失败!")
else:
print(f"测试文件不存在: {test_file}")
print("请修改 test_file 路径为你的实际文件路径")
def demo_compress_directory():
"""演示目录压缩"""
print("\n=== 目录批量压缩示例 ===")
# 示例:压缩整个目录
test_dir = "./students/" # 替换为你的目录路径
if os.path.exists(test_dir):
print(f"压缩目录: {test_dir}")
print("开始批量压缩...")
compress_directory(test_dir, max_size_mb=3, recursive=True)
else:
print(f"测试目录不存在: {test_dir}")
print("请修改 test_dir 路径为你的实际目录路径")
def demo_custom_compress():
"""演示自定义压缩参数"""
print("\n=== 自定义压缩参数示例 ===")
# 你可以自定义以下参数:
# max_size_mb: 目标文件大小(MB
# quality: 初始压缩质量(1-95
test_file = "./students/何杨.jpg" # 替换为你的文件路径
if os.path.exists(test_file):
print(f"自定义压缩: {test_file}")
print("目标大小: 2MB, 初始质量: 90%")
from 压缩照片 import compress_jpg_to_size
success, message = compress_jpg_to_size(
test_file,
max_size_mb=2, # 压缩到2MB以下
quality=90, # 初始质量90%
step=3 # 每次降低3%质量
)
print(message)
else:
print(f"测试文件不存在: {test_file}")
if __name__ == "__main__":
print("JPG照片压缩工具使用示例")
print("=" * 40)
# 运行示例
demo_compress_single()
demo_compress_directory()
demo_custom_compress()
print("\n" + "=" * 40)
print("使用说明:")
print("1. 直接运行 压缩照片.py 进入交互模式")
print("2. 命令行模式:")
print(" python 压缩照片.py 文件路径")
print(" python 压缩照片.py 目录路径 -r")
print(" python 压缩照片.py 目录路径 -s 2 -r") # 压缩到2MB,递归处理
print("\n参数说明:")
print("-s: 目标文件大小(MB),默认3MB")
print("-r: 递归处理子目录")
print("-q: 初始压缩质量(1-95),默认85")