按拍摄日期组织图像文件

imagesort的Python项目详细描述


https://travis-ci.org/leinz/imagesort.svg?branch=master

按拍摄日期组织图像文件

给定源目录下的所有tiff和jpg图像都放在 子目录下的目标目录,其名称与 他们被带走了。没有或无效的ExIF元数据的文件放在 unknown目录。

处理后的目标目录具有以下结构:

2013/
    2013_12_20/
        1.jpg
2014/
    2014_03_06/
        2.jpg
        3.jpg
    2014_07_01/
        4.jpg
unknown/
    5.jpg

保留原始文件名。如果目的地文件路径已经存在, 有两种可能的结果:

  • 如果旧文件路径的内容与新文件路径的内容相同,则程序将 什么都没有,继续下一张图片。
  • 如果新旧文件的内容不同,它将附加一个 整数,直到现有文件的内容匹配或路径不 已经存在。这意味着如果有三个名为 1.jpg具有相同的日期元数据但内容不同,最后 名称将是1.jpg1-1.jpg1-2.jpg

安装

使用以下命令之一安装:

$ easy_install imagesort

或者,如果安装了pip:

$ pip install imagesort

用法

键入imagesort -h获取可用选项列表。

示例

将图像从inputdir复制到outputdir

$ imagesort copy inputdir outputdir

使用dry-run标志查看在没有 实际做任何事:

$ imagesort --dry-run copy inputdir outputdir

movehardlink替换copy以移动或硬链接文件 而不是复制它们。

注意

在python 3.2之前的windows上,硬链接操作(os.link)不可用。

开发

测试

在开发期间运行测试需要pytest。安装 依赖于

$ pip install -r requirements.txt

然后使用

运行测试
$ py.test

或者,如果安装了tox,只需运行以下命令来运行测试:

$ tox

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

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退