使用 pyexiftool 编辑/更新照片元数据的数据

2023-12-12

我想使用 exiftool 更新照片元数据的数据,例如温度传感器、高度传感器和 GPS 经度-高度的数据。首先,我尝试在 exiftool 配置文件中使用命令行添加这些数据的新标签,并且它有效。现在,我想使用 python 脚本更新数据,然后有人告诉我我可以使用执行()方法但我很困惑,仍然不知道如何使用这些方法。

任何人都可以帮助并给我 exiftool 中用于编辑元数据的 python 脚本的示例吗?


您的具体问题的代码是:

import exiftool
et = exiftool.ExifTool("C:\Users\...\exiftool.exe")
et.execute("-GPSLongitude=10.0", "picture.jpg")
et.execute("-GPSLatitude=5.78", "picture.jpg")
et.execute("-GPSAltitude=100", "picture.jpg")
et.terminate()

或者,您可以省略terminate使用时调用with陈述:

with exiftool.ExifTool("C:\Users\...\exiftool.exe") as et:
    et.execute("-GPSLongitude=10.0", "picture.jpg")
    et.execute("-GPSLatitude=5.78", "picture.jpg")
    et.execute("-GPSAltitude=100", "picture.jpg")

使用with语句确保子进程被杀死,请参阅PyExif工具文档


如果您想要更改日期(创建、修改等),请确保省略日期本身周围的引号。这就是我花了一段时间才弄清楚的原因,因为没有发生错误处理:

命令行:

exiftool -FileModifyDate="2015:10:01 10:00:00" picture.jpg

Python:

et.execute("-FileModifyDate=2015:10:01 10:00:00", "picture.jpg")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pyexiftool 编辑/更新照片元数据的数据 的相关文章

随机推荐

  • Service Worker 将 API 调用中的文件添加到预缓存中

    使我的应用程序能够离线运行 在安装过程中 服务人员应该 从异步 API 获取 URL 列表 重新格式化响应 将响应中的所有 URL 添加到预缓存 对于此任务 我将 Google Workbox 与 Webpack 结合使用 问题 虽然服务工
  • 查找并计算网络中隔离和半隔离节点的数量

    我正在与经历了许多的网络合作扰乱事件 因此 许多节点会因给定事件而发生故障 因此 左侧图像与右侧图像之间存在过渡 我的问题 我怎样才能找到不连通的子图 即使它们只包含 1 个节点 我的目的是count他们并渲染失败了 因为在我的研究中 这适
  • 在 Gitahead 中的 origin 上也创建标签

    当我在本地存储库上创建标签时 它是在我的本地存储库上创建的 我不知道如何推送位于 GitHub 上的源 我可以通过命令行将其推送到远程存储库 git push origin v0 3 0 但我想知道是否有办法通过 Gitahead 的 GU
  • 使用单个副本时,Kubernetes 部署不执行滚动更新

    我修改了部署配置 生产 yaml 更改了容器映像值 然后我运行了这个 kubectl replace f production yaml 发生这种情况时 我的服务似乎没有响应 此外 kubectl get pods wordpress 21
  • Pyinstaller 未加载 DLL

    为我的 python 脚本构建 exe 后dungeon py 我收到错误时PyBearLibTerminal py 我的程序导入的脚本 尝试加载 DLLBearLibTerminal dll 该脚本运行正常 只是运行导致错误的可执行文件
  • Google 地图 - 平移和缩放区域 - 放大或平移时标记不出现

    我正在标记的服务器端实现一些基于边界的集群 以显示在我的谷歌地图上 我正在做的是 我有一个函数 每次移动 平移或缩放地图时都会调用该函数 该函数获取地图的边界并进行 ajax 调用 服务器端脚本又运行一个简单的 sql 查询来检索标记并对它
  • Android:自动选择调试/发布 Maps v2 api 密钥?

    我在我的项目中使用 Google Maps v2 API 在 Google 地图 v2 中 调试 发布 API 密钥定义在AndroidManifest xml 我见过the link但地图键是在 xml 布局文件中定义的 而不是在Andr
  • 自签名小程序可以访问本地文件系统吗

    您好 我已经创建了一个自签名小程序 但无法访问本地文件系统 我该怎么办 你需要将你的IO代码包装在里面特权动作 通常 您需要使用测试证书对小程序进行签名 用户将看到警告 并且在加载小程序时必须接受证书 那么您需要将代码包装在 Privili
  • Python:binned_statistic_2d 均值计算忽略数据中的 NaN

    我在用scipy stats binned statistic 2d通过查找每个箱内点的平均值 将不规则数据分箱到统一网格上 x y np meshgrid sort np random uniform 0 1 100 sort np ra
  • src绝对路径问题

    我有一个图像C wamp www site img我尝试将其显示在页面中 img src 但它不起作用 该文件实际上在那里 如果我尝试使用相对路径引用它 我就会得到图片 img src img mypicture jpg 错误在哪里 我错过
  • 在 Windows 中从命令行运行 python 脚本

    我正在尝试跑步蛇食 分析一个Python项目 我使用的是 Windows 机器 到目前为止我已经能够弄清楚如何 安装 Tortoise for Mercurial 以从站点下载 SnakeFood 代码 设置 Windows 路径以从命令提
  • Jquery 自动完成底部附加链接

    I am using jQuery auto complete plugin in my web project I want to show 3 element and after that i want to append see al
  • 如何通过重新定义的 ListBox 模板使用 UI 虚拟化

    我正在尝试使用 ListBox 作为包含多个项目的视图 当然 我需要在其中使用 UI 虚拟化 问题是虚拟化仅在我以这种方式声明 ListBox 时才起作用
  • 如何以编程方式获取下一个预定的触发时间?

    我制作了一个新的可安装触发器 该触发器每 2 天以编程方式为我的电子表格触发一次 那么当我返回到电子表格时 我可以得到下次触发函数的时间吗 或者甚至它触发的频率是多少 我所看到的是我可以获得它的类型 它触发的函数 唯一ID等等 Thanks
  • 如何删除具有任何零值的行

    我有一个问题需要解决如何删除 R 中具有零值的行 另一方面 我可以使用na omit 删除所有 NA 值或使用complete cases 删除包含 NA 值的行 有谁知道如何删除 R 中具有零值的行 例如 Before DateTime
  • 正则表达式匹配多个组

    我有以下带有正则表达式的字符串示例 我试图匹配它 Regex d 3 0 9a fA F 2 3 要匹配的字符串 010 00 00 00 我的问题是这样的 正则表达式匹配并捕获 1 组 最终00在字符串的末尾 但是 我希望它能够匹配所有三
  • 如何判断 `constexpr` 是否在编译时求值(无需手动检查)

    有没有一种标准方法可以找出编译器做了什么constexpr功能 旁注 对于调试 默认情况下每个 constexpr 函数都会推迟到运行时 为什么这是明智的 有没有办法影响这一点 对于发布取决于上下文 显然 对于小型测试设置 您可以轻松检查生
  • MySQL 如何解释 VARCHAR 字段大小?

    假设一个字段是这样声明的 a VARCHAR 255 其中可以存储多少个字符 是255还是256 使用了多少空间 我们应该使用 2 的幂然后减去 1 还是没有关系 A VARCHAR 255 最多可以存储 255 个字符 无论字符集编码所需
  • Azure 上的 Asp.Net VNext 应用程序设置

    我真的很喜欢 Asp Net vNext 使用默认 appsettings json 的新配置功能 但当我将网站发布为 Azure Web 应用程序时 我想更改该文件的值 旧的 web config appsettings 很容易更改和配置
  • 使用 pyexiftool 编辑/更新照片元数据的数据

    我想使用 exiftool 更新照片元数据的数据 例如温度传感器 高度传感器和 GPS 经度 高度的数据 首先 我尝试在 exiftool 配置文件中使用命令行添加这些数据的新标签 并且它有效 现在 我想使用 python 脚本更新数据 然