我写了一个图床上传工具 PicFlow,欢迎来用!
· 阅读需 3 分钟
自从学习搭建网站以来,我就把很多图片托管在七牛云等图床平台上。以前总是通过网页批量上传,需要登录并一步步跳转网页操作,久而久之就厌烦了,于是花了一天时间用 Python 写了一个工具 —— PicFlow,从名字可以看出,它集成了图片处理(裁剪、压缩)和上传到云存储平台(如七牛云)等功能,满足我目前的使用需求。并且它是基于 Python 开发的,可以在 Windows、Linux 和 macOS 系统上运行。
当然,由于时间仓促,功能还不是很多,未来会逐步增加。如果你也有类似的需求,欢迎你安装使用,我已经把它发布到 PyPI,一行命令就可以开始使用啦!
pip install picflow
同时,PicFlow 也是开源的,采用 MIT 许可证发布,十分欢迎你为本项目提 Issue 和 PR!😘
GitHub 地址:https://github.com/luhuadong/picflow
功能特性
🛠️ 核心功能
- 图片处理
- 缩放、格式转换(JPEG/PNG/WebP)
- 质量压缩
- 云存储集成
- 支持七牛云(Qiniu)、AWS S3(计划中)
- 自动生成 CDN 访问链接
- 批量操作
- 递归 处理文件夹内所有图片
- 并行任务加速
🚀 效率提升
- 配置文件驱动:通过 YAML 文件管理云存储密钥和处理参数
- 跨平台:无需修改代码,同一命令在 Windows/Linux/macOS 运行
快速开始
配置七牛云
执行如下命令创建配置文件 ~/.picflow/config.yaml
:
picflow config init
你将通过交互方式输入 ACCESS_KEY
和 SECRET_KEY
等信息,配置文件内容如下。
storage:
qiniu:
access_key: "YOUR_ACCESS_KEY"
secret_key: "YOUR_SECRET_KEY"
bucket: "YOUR_BUCKET_NAME"
domain: "https://cdn.example.com" # CDN 域名
处理图片
# 压缩为 WebP 并上传
picflow process --format webp --quality 85 ~/images/photo.jpg
# 递归处理整个文件夹
picflow batch ~/gallery --scale 50% --output ~/compressed_gallery
上传图片
# 直接上传图片
picflow upload ~/images/photo.jpg
# 强制上传图片(覆盖图床中同名文件)
picflow upload ~/images/photo.jpg --force
# 同时上传多张图片
picflow upload test.jpg test2.jpg test3.jpg
# 先处理后上传图片
picflow process --scale 256 --format webp --quality 85 test.jpg
其他命令行参数
# 查看帮助
picflow --help
# 打印版本信息
picflow --version
# 查看图片详情
picflow info ~/images/photo.jpg