# python-utils **Repository Path**: xs-shuai/python-utils ## Basic Information - **Project Name**: python-utils - **Description**: python工具集, - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-09-24 - **Last Updated**: 2026-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python-utils #### 介绍 Python工具集,包含各种实用功能模块。 ## 模块列表 ### requestToAPI/ HTTP客户端封装,提供统一的API请求接口 - **HTTPClient**: 封装GET/POST/PUT/DELETE请求 - 支持文件上传、自定义请求头、超时设置 - 自动解析JSON响应,失败时抛出异常 ### autoWinx/ Windows微信自动化工具 - **WindowsExe**: 自动启动微信并发送消息 - 支持从注册表读取微信安装路径 - 支持单个消息和批量消息发送 - 支持从文件读取联系人及消息内容 - 依赖: `pyautogui`, `pyperclip` - 打包命令: `pyinstaller --onefile --windowed .\autoWinx\__initWx__.py` ### minioTest/ MinIO/S3对象存储集成示例 - **MinioClientTest**: 地图瓦片下载与处理 - 支持经纬度转瓦片坐标 (deg2tile) - 多线程并发下载瓦片 - 扫描本地瓦片文件目录并缓存 - 获取bbox高程数据 ### fileUploadTest/ MinIO文件夹上传工具 - **MinioUploader**: 递归目录上传,保持文件夹结构 - **FileNode**: 文件/目录树数据类,支持序列化 - 上传流程: 构建文件树 → 上传目录结构获取预签名URL → 递归上传文件 - 支持断点续传、重试策略、Content-Type自动识别 ### shardingFileAndUploa/ 大文件分片上传工具 - **FileUploader**: 支持大文件分片上传 - MD5文件哈希计算 - 分片上传地址获取 - 并发分片上传 - 完成上传合并 ### shp2pg/ Shapefile数据导入PostgreSQL工具集 - **SHPToPGImporter**: SHP到PostGIS的图形化导入工具 (PyQt5界面) - 使用ogr2ogr进行数据导入 - 自动坐标系转换 (支持转WGS84/EPSG:4326) - 数据库连接测试、空间表管理 - SHP文件完整性验证 - 数据预览功能(支持前100条记录预览) - 配置保存和加载(密码不保存) - 多线程导入,进度显示 - 表存在时处理策略:替换/追加/失败 - **文件编码选择**:支持UTF-8、GBK、GB2312、BIG5、GB18030等多种编码,可手动选择解决乱码问题 - **osm.py**: OSRM路径规划客户端 - 路径规划 (get_route) - 支持驾车/步行/骑行 - 距离矩阵 (get_distance_matrix) - GPS点地图匹配 (match_gps_points) - **s3.py**: S3/MinIO对象存储工具 - **S3PresignedUrlGenerator**: 预签名URL生成器 - 下载URL生成 (generate_get_url) - 上传URL生成 (generate_put_url) - 对象列表查询 (list_objects) - 对象删除 (delete_object) - 支持s3v4签名 ### imgdownLoad/ 批量图片/瓦片下载工具 - **BatchRequestTool**: 并行下载,并发控制,结果追踪 - **RequestResult**: 请求结果数据类 - 支持矩形范围批量请求 - 支持网格/螺旋坐标生成 - 结果保存为JSON,支持失败重试 ### port_scan/ 多线程TCP端口扫描器 - **port_scanner**: 使用ThreadPoolExecutor高效扫描 - 支持指定主机和端口范围 - 可配置并发线程数 - 输出开放端口列表及扫描耗时 ### port_kill/ 端口占用查看与进程终止工具 - 图形化界面 (tkinter) - 跨平台支持 (Windows/Linux/macOS) - 显示端口、程序名、CPU/内存占用、进程ID - 支持搜索和刷新 - 一键终止选中进程 - 依赖: `psutil` ### base64Test/ Base64编码转换工具 - 图片文件转Base64字符串 - 支持输出到文本文件 ## 通用依赖 - `requests` - HTTP客户端 - `boto3` - S3/MinIO交互 - `pyautogui`, `pyperclip` - Windows自动化 - `concurrent.futures.ThreadPoolExecutor` - 并行处理 - `geopandas`, `sqlalchemy`, `psycopg2` - 空间数据处理 - `PyQt5` - 图形界面 ## 使用说明 大部分模块都包含 `if __name__ == "__main__":` 示例代码块,可直接运行查看使用方法。