Extract specified-position text from image filenames using custom delimiters, supporting batch processing, sorting, deduplication, and multiple image formats.
从图片文件名中提取指定位置的文本内容。支持自定义分隔符、提取位置,可批量处理目录中的图片文件。
_)# 提取默认位置(第一个和第二个下划线之间的文本)
python3 scripts/extract_pic_text.py /path/to/images
# 示例:BIN245_515194318_0128N.jpg -> 515194318
# 使用不同的分隔符和位置
python3 scripts/extract_pic_text.py /path/to/images -d '-' -p 0
# 示例:img-12345-test.jpg -> img (位置0)
# 指定图片扩展名
python3 scripts/extract_pic_text.py /path/to/images -e .jpg .png
# 结果排序并去重
python3 scripts/extract_pic_text.py /path/to/images --sort --unique
# 保存到文件
python3 scripts/extract_pic_text.py /path/to/images -o result.txt
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
directory | - | 图片所在目录路径(必填) | - |
--delimiter | -d | 文件名分隔符 | _ |
--position | -p | 提取位置(0开始) | 1 |
--extensions | -e | 图片扩展名列表 | .jpg .jpeg .png .gif .bmp .webp .tiff .tif |
--output | -o | 输出文件路径 | stdout |
--sort | - | 对结果排序 | False |
--unique | - | 去重 | False |
假设分隔符为 _,位置为 1:
| 文件名 | 提取结果 |
|---|---|
BIN245_515194318_0128N.jpg | 515194318 |
abc_def_ghi.png | def |
2024_0307_event.jpg | 0307 |
product_SKU123_detail.jpg | SKU123 |
515194318,515196709,515270355
注意:2个文件格式不符:invalid_file.jpg, no_underscore.png
SKU_12345_variant.jpg 中提取 SKU 编号2024_0307_event.jpg 中提取日期scripts/extract_pic_text.py
在 skill 目录下可直接执行:
python3 ~/.openclaw/workspace/skills/extract-pic-text/scripts/extract_pic_text.py /path/to/images
ZIP package — ready to use