当前位置: 首页 > news >正文

OSXPhotos:macOS 照片库的全能管理工具

文章目录

  • OSXPhotos:macOS 照片库的全能管理工具
    • 1、 这玩意儿是干嘛的
    • 2、 能干什么
    • 3、 安装方式
    • 4、 用起来什么样
    • 5、 Python API
    • 6、 适合谁用

OSXPhotos:macOS 照片库的全能管理工具

osxphotos 在 GitHub 上已经拿到 3,639 Star 了。

这是一个专门和 Apple Photos 照片库打交道的命令行工具。查询照片元数据、批量导出、编辑描述信息、同步多个图库,全靠它。

1、 这玩意儿是干嘛的

一句话:用命令行操控你的 macOS 照片库。

Apple 自带的 Photos 应用好看是好看,但一旦你想批量操作就抓瞎。想导出某个时间段的所有照片?想把所有包含某个人的照片找出来?想给几百张照片批量添加关键词?Photos 应用本身做不了这些事。

OSXPhotos 就是来补这个缺口的。它能直接读取 Photos 的数据库,查询文件名、路径、关键词、人脸、相册等元数据,也能把原始照片和编辑后的版本一起导出来。

2、 能干什么

这个工具提供的命令相当多,挑几个常用的说。

export是用得最多的命令,把照片从图库里导出来。可以按日期分文件夹,可以只导出视频,可以筛选大于某个尺寸的文件,选项超过 100 个。

query用来查询。比如找出所有带"旅行"关键词的照片,输出成 JSON 文件。配合其他工具做数据分析很方便。

batch-edit批量编辑照片的标题、描述、关键词这些元数据。手动在 Photos 里一张张改,几千张照片能改到天黑。

import往图库里导入照片和视频。sync在多个 Photos 图库之间同步元数据和相册。timewarp调整照片的拍摄时间和时区。

还有一个repl命令,开一个交互式终端,可以直接用 Python 代码操作照片库,适合需要灵活查询的场景。

3、 安装方式

最推荐用 uv 来装,这是 Python 的包管理工具:

curl-LsSfhttps://astral.sh/uv/install.sh|shuv toolinstall--python3.13osxphotos

用 Homebrew 也行:

brew tap RhetTbull/osxphotos brewinstallosxphotos

直接用 pip 装:

python3-mpipinstallosxphotos

MacPorts 用户可以用sudo port install osxphotos

如果不想装 Python,可以直接下载 GitHub Releases 页面的预编译可执行文件,解压放到系统路径里就能用。

Linux 上也能跑,只是 macOS 专属的功能(比如直接和 Photos 应用交互)不可用,但导出和查询命令以及 Python API 都正常工作。

4、 用起来什么样

导出全部照片,按日期归档:

osxphotosexport~/Desktop/export --export-by-date

找出所有带"Kids"关键词的照片,输出为 JSON:

osxphotos query--keywordKids--json>results.json

找出所有超过 200MB 的视频,自动加入一个叫"Big Videos"的相册:

osxphotos query --only-movies --min-size 200MB --add-to-album"Big Videos"

每个命令都可以用osxphotos help COMMAND查看详细帮助,比如osxphotos help export。选项太多记不住的话,还能按主题搜索:osxphotos help export raw会列出所有和 RAW 文件相关的选项。

5、 Python API

除了命令行,OSXPhotos 还提供了一套 Python API,可以在自己的代码里调用。查询照片库、遍历照片、读取元数据,都能用 Python 完成。对于需要做复杂数据处理或者集成到其他工作流里的场景,API 比命令行更灵活。

项目文档里有 API 说明和示例代码,终端里运行osxphotos docs可以直接打开在线文档。

6、 适合谁用

在 macOS 上管理大量照片的人。摄影师、内容创作者、或者只是想把多年积累的照片做个系统性整理的普通用户。

需要批量导出照片做备份、迁移的场景。想用脚本自动化照片管理流程的开发者。在 Linux 上需要读取 macOS Photos 图库数据的人。

年积累的照片做个系统性整理的普通用户。

需要批量导出照片做备份、迁移的场景。想用脚本自动化照片管理流程的开发者。在 Linux 上需要读取 macOS Photos 图库数据的人。

http://www.gsyq.cn/news/1591881.html

相关文章:

  • Java基础:String、StringBuilder 和 StringBufferr对比
  • 告别复杂命令行:3步轻松掌握Android设备图形化管理
  • NL2SQL落地企业遇阻?语义映射与查询验证是破局关键
  • 从一次性 Prompt 到连续工作流:投研 Agent 为什么需要长期可用的数据入口?
  • 移动优先时代:本地GEO优化的移动端适配技巧
  • 算子代数视角:用谱复杂性解析Navier-Stokes方程与湍流本质
  • Java开发环境一键起飞(IDEA 2024最新版全栈配置手册)
  • 如何通过SMUDebugTool深度掌控AMD Ryzen处理器性能?
  • 代数几何中的特殊曲面:Coble曲面与Bertini对合探析
  • 智能业务代表员中的远程调用代理与服务定位
  • Selenium自动化测试最佳实践:从框架选型到CI/CD集成的完整指南
  • openYuanrong 多语言运行时:如何实现类单机编程的高性能分布式运行?[特殊字符]
  • 从 PHP 到 AI + Golang,程序员自救转型手记(七):建立 CLAUDE.md 文件、整理目录结构
  • 终极指南:如何免费快速安装大气层整合包系统
  • FastAPI+LangChain打造智能招聘系统-网易云课堂
  • 头油头痒夏天总反复?用藿香正气水洗个头,比控油洗发水管用
  • 如何彻底清理Windows“此电脑“中的顽固图标:MyComputerManager完整指南
  • 别再重装系统了!IntelliJ IDEA迁移/重装后秒恢复全部配置的3种军工级备份法(含自动化脚本)
  • snscrape+Hugging Face实现无API推文情感分析
  • 诡异!MLCC 储存后随机短路?这篇复盘帮你揪出隐形元凶
  • MySQL 8.4.9 部署
  • 3000万加注中医垂直大模型:ChatiSS 正在走一条 DeepSeek 式的「自造血」技术路线
  • 【通配符使用指南】
  • 基于HNN的化学家教统计计算平台的搭建
  • 全能电商3D立体促销标题字效样机
  • 【课程设计/毕业设计】消防知识数字化竞赛学习平台的设计与实现(SpringBoot) 社区消防安全教育竞赛小程序系统设计与实现【附源码、数据库、万字文档】
  • ScrapeGraphAI:用自然语言驱动的AI网页爬虫实战指南
  • 布格替尼(Brigatinib)不良反应,做好安全管控
  • 【计算机毕业设计案例】基于 SpringBoot 的书籍拍卖订单管理系统设计与实现 微信端图书拍卖交易运维管理系统设计与实现(程序+文档+讲解+定制)
  • VortMall微服务商城系统v1.3.7重磅更新|『邮箱登录+Facebook社交升级』