A python tool to format images based on EXIF information and edit EXIF data.
Project description
图片名称格式化工具
根据 EXIF 信息来格式化图片名字,方便管理
环境与安装
本工具使用 uv 管理依赖和运行环境。
安装依赖并同步环境:
uv sync
用法
1. format-img
格式化当前目录下的图片文件名。
基本用法
uv run format-img [-f format] [-s suffixs] [-h]
-f文件名的格式,默认值为%Y%m%d%H%M%S。支持的占位符列表见下表。-s要格式化文件名的后缀名列表(以逗号分隔,不区分大小写),默认值为jpg,png,jpeg,heic。例如-s "jpg,png"。-h获取帮助信息。
支持的格式占位符:
| 格式 | 含义 |
|---|---|
| %a | 本地(locale)简化星期名称 |
| %A | 本地完整星期名称 |
| %b | 本地简化月份名称 |
| %B | 本地完整月份名称 |
| %c | 本地相应的日期和时间表示 |
| %d | 一个月中的第几天(01 - 31) |
| %H | 一天中的第几个小时(24小时制,00 - 23) |
| %I | 第几个小时(12小时制,01 - 12) |
| %j | 一年中的第几天(001 - 366) |
| %m | 月份(01 - 12) |
| %M | 分钟数(00 - 59) |
| %p | 本地am或者pm的相应符 |
| %S | 秒(01 - 61) |
| %U | 一年中的星期数(00 - 53,星期天为一个星期的开始) |
| %w | 一个星期中的第几天(0 - 6,0是星期天) |
| %W | 和 %U 基本相同,不同的是以星期一为一个星期的开始 |
| %x | 本地相应日期 |
| %X | 本地相应时间 |
| %y | 去掉世纪的年份(00 - 99) |
| %Y | 完整的年份 |
| %Z | 时区的名字 |
| %% | '%' 字符 |
示例
把当前目录下的 jpg 和 png 文件的名称格式化成 2017-10-01 10:17:01 的形式:
uv run format-img -s "jpg,png" -f "%Y-%m-%d %H:%M:%S"
2. modify-exif
用于读取/修改图片的 EXIF 信息。
基本用法
# 读取属性详情
uv run modify-exif -f file -r property [-s]
# 读取拍摄时间与数字化时间(only output value if -s is set)
uv run modify-exif -f file -rt [-s]
# 写入指定属性
uv run modify-exif -f file -w property -v value
# 写入拍摄时间与数字化时间
uv run modify-exif -f file -wt -v value
# 查看帮助
uv run modify-exif -h
具体示例可以参考 scripts/update-datetime.ps1,用于批量修改目标文件夹里面 yyyyMMddHHmmss 这样命名规则图片的 EXIF 时间信息。
注意事项
跨路径调用:如果要在其他路径(即不是项目根目录)下调用本工具,建议使用 --project 参数指定项目路径,例如:
uv --project D:\Development\format-img run format-img
使用 --project 可以确保 uv 能够找到该项目的环境与依赖,同时不会改变当前的工作路径(cwd),从而正确地对你当前所在的命令行路径下的图片进行格式化操作。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
format_img-0.1.0.tar.gz
(6.7 kB
view details)
File details
Details for the file format_img-0.1.0.tar.gz.
File metadata
- Download URL: format_img-0.1.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b20c72422b714ee96a36e0daf902cd14fbefdb0d91e24877cfe2ccc24afc0bc
|
|
| MD5 |
b0a4abf8e10f4b2405065e288ba1ef31
|
|
| BLAKE2b-256 |
a4f7fc829b6057ea7327c7f50cd7a693f7932b67c5d6375e9b40bc5df5c12a51
|