从tiff和jpeg文件读取Exif元数据。

ExifReader的Python项目详细描述


出口阅读器

Fork ofExif.py公司来自ianare并根据BSD许可证使用

易于使用Python模块从tiff和jpeg文件中提取Exif元数据。在

原著作者吉恩·卡什和蒂埃里·布希。在

安装

PyPi

建议的过程是从PyPi package安装exifreader 有关详细信息,请参阅pip documentation。在

兼容性

Exifreader在以下Python版本上经过测试和正式支持:

  • 3.5支持很可能在将来的版本中删除
  • 3.6条
  • 3.7款
  • 3.8条

使用

命令行

一些例子:

EXIF.py image1.jpg
EXIF.py image1.jpg image2.tiff
find ~/Pictures -name "*.jpg" -name "*.heic" -name "*.tiff"| xargs EXIF.py

显示命令行选项

^{pr2}$

Python脚本

importexifreader# Open image file for reading (binary mode)f=open(path_name,'rb')# Return Exif tagstags=exifread.process_file(f)

返回的标记将是一个将Exif标记的名称映射到其 文件中按路径名命名的值。 您可以根据需要处理标记。特别是,可以使用

fortagintags.keys():iftagnotin('JPEGThumbnail','TIFFThumbnail','Filename','EXIF MakerNote'):print"Key: %s, value %s"%(tag,tags[tag])

使用if语句来避免打印出一些可能很长或很无聊的标记。在

标记字典将包括所有常用Exif标记的键,还将包括 一些相机使用的Makernotes,对此我们有很好的规范。在

注意,字典键是IFD名称后跟标记名。例如:: “EXIF DateTimeOriginal”、“图像方向”、“MakerNote FocusMode”

标签说明

标签分为以下主要类别:

  • Image:与主映像相关的信息(Exif数据的IFD0)。在
  • Thumbnail:与缩略图相关的信息,如果存在(Exif数据的IFD1)。在
  • EXIF:Exif信息(sub-IFD)。在
  • GPS:GPS信息(sub-IFD)。在
  • Interoperability:互操作性信息(sub-IFD)。在
  • MakerNote:制造商特定信息。这些标签没有官方发布的参考文献。在

处理选项

这些选项既可以在命令行模式下使用,也可以在脚本中使用。在

更快的处理

不要处理makernotes标签,不要提取缩略图(如果有的话)。在

传递-q--quick命令行参数,或作为

tags=exifread.process_file(f,details=False)

停在给定的标签

在检索到指定的标记后停止处理文件。在

传递-t TAG--stop-tag TAG参数,或

tags=exifread.process_file(f,stop_tag='TAG')

其中TAG是有效的标记名,例如'DateTimeOriginal'。在

以上两个选项对于加快处理大量文件非常有用。

严格处理

返回无效标记的错误,而不是静默忽略。在

传递-s--strict参数,或作为:

tags=exifread.process_file(f,strict=True)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
SpringWeb中的java更新/通知其他用户   java Lambda性能测试   java Bukkit插件:空白符号   java在按下按钮后改变彩色正方形的大小   javajavac相当于“D”?   java序列化接口   属性无法从属性文件返回值   java我应该使用什么查询来使用Jsoup从html页面提取符号?   java Android Studio项目结构问题   JAVA方法和返回值/公共变量(基础)   java将NativeQuery映射到POJO   java如何在下面的程序中消除NumberFormatException?   在java中获取链表与数组中的对象   java Android Firebase将用户发送到聊天室