fotosort是一个程序,用于将不同事件中的图片快速复制或移动到不同的文件夹中。

fotosort的Python项目详细描述


FOTOsort

fotosort是一个程序,用于将不同事件中的图片快速复制或移动到不同的文件夹中。这听起来很抽象,所以让我们看几个场景来增加趣味性:

场景1:随机资料

假设你有一个家庭,一条狗和一只小猫。因为他们和你住在一起,他们都在一遍又一遍地做可爱的事情,你偶尔会拿出手机拍照。所以最终你的手机里堆满了完全无关事件的照片。三张你妈妈爬树的照片。两张小猫倒挂在椅子上,看起来很可爱的照片。你父亲笑的照片。你的狗试图打开罐头的两张照片。一次又一次的随机事件。你完全知道我在说什么。

你的目标是把这些照片分成三个文件夹:"家庭随机"、"小狗"和"小猫",这样当你的侄女想看小猫的表现时,你就把"小猫"文件夹递给她,她就不会有机会看到你父母做了什么奇怪的事。

你的问题是手工将所有图片移动到不同的子文件夹中是非常痛苦的。您的文件管理器只显示微小的预览,迫使您不断地打开和关闭图片查看器,在瞄准500张图片的目标目录后,您的手因紧握鼠标而疼痛。

您的解决方案是fotosort。听起来像是吹牛,我知道。但这正是我做这个软件的目的。在花了一分钟设置之后,fotosort知道你的三个文件夹(family、doggy和kitty),你只需要花一秒钟按一个按钮就可以将每张图片发送到正确的目录。当然,fotosort有一个垃圾桶功能,可以让你马上把坏的扔掉。当您在数百张图片后感到疲劳,并意外地移动或删除一张图片时,不要担心:fotosort的撤消功能只需按ctrl+z键即可完成。

情景2:一次性

与场景1"family random"、"doggy"和"kitty"(您在数月或数年中一直使用)中的目录不同,有些事件只发生一次。你可能想按日期把它们放在文件夹里,比如"2019年06月18日攀登珠穆朗玛峰"。因此,对于这些事件中的每一个,您可能会创建一个文件夹,将好的图片放入其中,删除其他图片,然后再也不会向该文件夹中添加任何内容。手动创建每个文件夹、将其添加到fotosort、将图片移动到其中并再次删除文件夹都是毫无意义的。不过,FOTOsort也为这种情况配备了设备:

您的目标是快速创建一个文件夹,其中包含拍摄照片的日期(用于在任何文件管理器中按时间顺序进行字母数字排序)以及简短的描述(用于在存档中搜索)。您希望将一些图片移到该文件夹中,并且再也不会向该文件夹中添加任何内容。

您的问题是需要手动创建文件夹。事件发生在几个月前,您不记得日期,所以您要深入挖掘exif数据,检查相机记录的日期,创建文件夹,然后将图片移到该文件夹中,整理出不好的图片,然后导航回主图片文件夹,以便为下一个事件创建文件夹。痛,痛,痛。

你的解决方案是…是的,你猜对了。在按下单个键盘快捷键时,fotosort会根据在图片中找到的捕获日期为目标目录建议一个合适的名称。输入简短的描述,按回车键(到目前为止还不到一秒钟!)不仅要为您创建并准备好文件夹,而且fotosort还将新文件夹注册为可能的目标,您可以通过一个键将图片移动到其中。因为您以后不会使用该文件夹,fotosort会将此目标文件夹注册为临时文件夹并忘记当它关闭时,您无需经常清理已配置的目标文件夹。

情景3:混合

如果你的手机或相机上有随机和事件风格的图片,不要担心。由于永久的目标文件夹(family、dog、kitty)和临时的文件夹(您的珠穆朗玛峰之旅),建议的目标目录列表始终是相关的。只需键入一个出现在所需目录路径中的单词的一部分(例如"fam"代表"family"),只要按return键,当前图片就会移动到该位置。

安装FOTOsort

FOTOsort在PYPI上可用。键入sudo pip install fotosort以便在系统范围内安装fotosort(或键入pip install--user fotosort将其安装到用户目录中)。如果您的主要python2版本是python2,请键入pip3而不是pip

现在可以在终端中键入fotosort来启动fotosort。确保pip安装到的路径在您的路径变量中。

配置文件

fotosort的配置位于/home/youruser/.config/fotosort.yaml下,文件在fotosort首次运行后退出时自动创建。它由以下各项组成:

  • 如果要将图片保留在相机/手机上,请将copy_pictures设置为true,如果要移动文件,请将其设置为false
  • 扩展名应该已经对您起作用了。如果您的相机生成不同的文件格式,请在此处添加扩展名。
  • 更改永久输出目录列表perm_output_dirs以便它包含您经常将图片移动到的目录,如场景1中所述。不要在路径后面加上/
  • 将图片文件夹的路径(包括后缀/)放在temp_output_prefix旁边。这是创建临时输出路径的地方,如场景2所述。

使用fotosort

当fotosort启动时,它会显示[无图像]。点击菜单FOTOsort->;打开文件夹或按CTRL+O。导航到相机或手机中未排序的图片所在的位置。

您可以使用tab和shift+tab浏览照片。图片将根据其exif数据自动旋转。

在左下角,可以看到一个组合框,其中列出了已配置的目标路径。可以通过单击三角形从列表中选择路径,也可以直接在文本字段中键入。该框具有自动完成功能,完成显示在框的右侧。例如,如果在示例配置中键入"rand",则自动完成将显示/home/user/pictures/family random。建议是在最近使用的基础上生成的,最好是案例匹配结果。

要将图片移动到显示的目标目录,请确保光标位于组合框中,然后按回车键或回车键。要将图片移到垃圾箱中,请按CTRL+D。图片实际上不会被删除,而是被移到相机或电话上的文件夹中,名为fotosort-trash。要撤消操作,请按ctrl+z。

配置目标目录

按ctrl+shift+t(或使用"fotosort"菜单)配置目标目录。确保每条路径都在一条线上。"永久目标位置"下列出的路径将在应用程序关闭时保存到配置文件中,并在下次启动时重新显示。一旦关闭FotoSort,"临时目标位置"下的路径就会被遗忘。要使临时路径永久,或使临时路径永久,只需选择要更改的路径,按ctrl+x并使用ctrl+v将其插入到另一个字段的新行中。

快速创建临时目标目录

为了快速创建临时目标目录如场景2中所述,按ctrl+t。建议的目标目录名是根据您在配置文件中指定的前缀以及在当前图片中找到的捕获日期生成的。但是,这只是一个建议,您可以输入任意路径。完成后,按enter键创建文件夹(除非它已经存在),添加到临时目标目录,并在组合框中激活。当您再次按回车键时,当前图片将移动到该文件夹。

贡献

我写这个程序是为了我自己的方便,但是没有什么理由你不能根据自己的需要调整它。毕竟,这是福斯!:-)我很高兴接受您的请求。

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

推荐PyPI第三方库


热门话题
java如何将jaxb插件扩展与gradlejaxbplugin一起使用   java Hibernate列表<Object[]>到特定对象   java使用多态性显示arraylist的输出   java水平堆叠卡,带有一定偏移量   java错误:找不到符号方法liesInt()   java客户机/服务器文件收发中的多线程流管理   在java中可以基于访问重载方法吗?   包含空元素的java排序数组   swing Java按钮/网格布局   java BottomNavigationView getmaxitemcount   java空指针异常字符串生成器   java Xamarin升级导致“类文件版本错误52.0,应为50.0”错误   java我正在尝试打印它,而不只是对每一行进行println   Tomcat7中的java是否需要复制上下文。将xml转换为conf/Catalina/locahost以使其生效   带有注入服务的java REST端点在何处引发自定义WebServiceException?   在Java中使用GPS数据   java如何将JFreeChart ChartPanel导出到包含添加的CrosshairOverlay的图像对象?   内置Eclipse期间的Java 8堆栈溢出   java在GWT编译的JavaScript中如何表示BigDecimal