点击上方蓝字关注

起因

前几天去国图拍了一本书,一本心理学方面的书,也许你问我为什么不去买一本,或者去网上找pdf。其实吧,关于心理学方面的书可以说在市面上一抓就是一堆,至于拍这本书两个原因,一个是没有什么收藏价值不值得我去买,只适合应急用,然后就是这本书的作者写作特点和其他大众的不太一样,可以说是有特点或者偏门,于是我就在手机上拍了一堆的图片,后来整理成了pdf,但是昨天我看的时候原图片文件还在快上千了吧,一个一个选择删除真是删烦了,
也许你会说为什么不导入到电脑上进行删除,没办法我就是想整点不一样的,学了python就是喜欢整点骚操作。(手动滑稽)
所以下面就在手机上使用python进行一波骚操作。。。

准备工具

首先你得有个手机,233(和没说一样),咳咳 说正经的,既然我要在手机上运行python了,这里我推荐pydroid3,因为代码是基于python3.6写的(f-string的使用)
为了方便大家下载,我给大家提供了百度云下载的地址:后台回复:pydroid即可。

安装打开之后这个样子


剩下的就是运行代码了,这个后面我们再说.

思路

在做这件事之前我们得知道具体如何去做。
1.确定待处理图片文件所在目录
2.然后确定要删除哪些图片,这里我们以图片创建日期为准进行筛选。
3.为了防止误删,安全起见在该文件夹里创建一个trash目录,首先把目标图片移动到该文件夹,然后确认图片可以删除之后再进行删除。就像不要轻易使用rm一样,你懂得。给自己留一个反悔的时间。

代码实现

好了既然思路确定了我们就可以动手实现了。
1.确认文件所在文件夹,这里使用pathlib模块,pathlib是python3里的一个标准库,主要也是操作路径,和os模块操作路径比要说区别的话,就是拼接路径有时候比较方便,最好的就是两个配合着使用。好了下面上代码

import pathlibdir_path = pathlib.Path(filename).resolve().parent

resolve方法是获取文件运行时的目录,parent是获取上一级目录,也就是图片的所在文件夹
2.创建trash目录,移动之后的图片所在目录。
思路分析中提到这个文件夹得作用就是类似垃圾箱可以确认后再删除。

 trash_dir = dir_path.joinpath("trash")

我们可以通过joinpath方法进行拼接路径,os.path.join()需要填二个参数,这里只需要一个即可,这就是优势。但是需要注意的是这个方法最终获取的路径是个对象不是字符串
在后面的使用中需要转换成字符串形式的路径.
3.接下来我们知道我们需要操作的文件类型是图片,这里我以jpg为例,当然如果你的图片是png你可以写png,python3的标准库提供了glob模块,这模块可以设置匹配规则去获取需要匹配的图片列表。

import globimage_path_list = glob.glob(to_str_path(dir_path.joinpath("*.jpg")))

之前说获取的路径是对象所以to_str_path是一个转换成字符串路径的方法。
*.jpg可以匹配所以后缀为jpg的文件生产结果列表。

4.文件都获取完了但是并不一定都是我们需要的,我们需要的指定日期内的文件

import osfile_time = os.path.getctime(image_path)

通过getctime我们获取了图片创建时间,进行进一步筛选。
5.文件都准备好了,我们就需要移动到trash目录,等待处理了。
通过os模块的rename方法或者shutils的move方法可以对文件进行移动,这里我选择os模块

import osos.rename("移动前完整文件路径", "移动后完整文件路径")

6.此时文件就在trash目录了。
然后确认完了就可以删了,如果没问题就执行delete方法.
这里提供两种删除方式一种是删除所有文件,一种是整个文件夹都删除,两种唯一的区别就是下次不用创建trash目录了,没多大区别.

 if del_type == "dir":        shutil.rmtree(trash_path)  # 递归删除一个目录以及目录内的所有内容    else:        if os.path.exists(trash_path):            file_list = os.listdir(trash_path)            if file_list:                remove_f = partial(remove, trash_path=trash_path)                start_thread(remove_f, file_list)

演示

首先确定需要整理的文件在哪个目录。
这里用我之前的手机截图目录为例。这里有个小问题就是,我怎么知道我的截图文件在哪个目录….
一般手机查看图片的时候都有个详细信息这里面一般有路径。向下面这样。


通过图片我们可以清楚的看到路径在截图文件夹里,至此我们就确定了文件的目录。

然后为了方便我们就在需要操作的目录里执行python脚本,打开前面我们安装的pydroid3
然后按照我的操作
1.将代码复制到下面的框里

图片太大无法演示整个过程了 看博客园的图吧。

可以把newfile改个别的名字.
2.调用方法传入参数
方法传入日期参数格式例如20190101。
这里以20171227为例运行代码。
在运行之后没有结果,后来看了一眼图片知道了,程序默认图片格式是jpg,我的截图都是png,所以我需要指定filetype参数为png,同是date_str参数设置为20171227.
运行代码:


之后会发现指定的文件已经在trash目录了,


3.之后就可以执行delete方法删除了.

致转行AI的在校大学生的一封信

转行AI需要看的一些文章

转行学AI,具体细分方向如何选,来自一线工程师的感悟

用法律武器,痛击腾讯侵权行为!!!湾区人工智能可以改善知识产权现状吗?

【送书PDF】Python编程从入门到实践

Python从入门到精通,深度学习与机器学习资料大礼包!

【免费】某机构最新3980元机器学习/大数据课程高速下载,限量200份

觉得不错, 请随意转发,麻烦点个在看!

结语

到此为止,教程就这结束了,本来打算写成多线程版的提提速来着结果发现好像手机没反应,所以最好还是使用循环操作文件了,这里只是提供这么一个思路,代码没什么难度。关键是看用途,怎么样你学会了么。

如果您喜欢我的文章就点击右下角的好看吧,谢谢。加微信:italocxa进群。点击阅读原文进入博客园文章后半部分完整代码。

python小应用之整理手机图片相关推荐

  1. python小应用之整理手机图片_用Python这个小工具,一次性把论文作图与数据处理全部搞定!...

    整理完这些资料已经凌晨3点了,困得眼睛都睁不开,一想到明天就截稿了,他只好随便拼凑一篇应付. 结果可想而知,导师还没看完第一页就把论文给退回来了,说论文通篇缺乏具体数据分析,研究计划就很粗糙,实施起来 ...

  2. python小应用之整理手机图片_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...

    如果你急于上手操作,可以直接查看Github repo中的代码,或跳到本文结果部分,看看炫酷的颜色簇交互式三维图. 关注大数据文摘微信公众号,后台对话框内回复"压缩"下载notes ...

  3. Python小技巧:将 1M 图片优化压缩到 1024kb,简单到手到擒来

    知乎热搜有一篇帖子,某省会城市健康码连续两次崩溃,相关公司在之前的报道中还声称:用两天两夜,将 1M 图片优化到 100kb. 报道中提到:"为了确保系统运行更高效,他们将一张图片从 1MB ...

  4. python小程序源代码-整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  5. python爬取京东手机数据_实例解析Python如何实现爬取京东手机图片

    本文主要为大家分享一篇Python如何实现爬取京东手机图片的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,希望能帮助到大家. 运行环境Python3.6.4#爬取京东手机图片i ...

  6. 自己整理实现的python小工具

    文章目录 记录一些自己整理实现的python小工具 python获取文件路径 pytho使用opencv进行图像拼接 记录一些自己整理实现的python小工具 python获取文件路径 因为有的程序需 ...

  7. python降低图片分辨率_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...

    原标题:手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定! 大数据文摘作品 编译:HAPPEN.于乐源.小鱼 一位乐于分享学生精彩笔记的大学教授对于扫描版的文件非常不满意--颜色不清晰并且 ...

  8. Python 小把戏之图片转字符串

    Python 小把戏之图片转字符串 #! /usr/bin/python3 # -*- coding: UTF-8 -*-from PIL import Image import argparse i ...

  9. python小练——下载指定url中的图片

    python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...

最新文章

  1. LDP传输地址配置——Vecloud
  2. python 如何查看列表(List)的维度? (需要将List转换成numpy数组)
  3. 运算符重载(c++细节篇二)
  4. TP5与TP3.X对比
  5. CentOS7安装ipython
  6. 在没有数据集的情况下使用数据表
  7. angular的组件通信
  8. 九、Oracle学习笔记:聚合函数
  9. java编程简单小游戏_求一个简单又有趣的JAVA小游戏代码
  10. 极光推送JPush使用Java SDK开发
  11. 微信小程序测试需要考虑哪些方面?一分钟快速掌握(小白必看!)
  12. 任正非:管理上的灰色,是我们的生命之树
  13. 「题解」agc031_e Snuke the Phantom Thief
  14. 麦库记事如何导出html,麦库记事使用问题解答
  15. 西门子PLC功能图的画法
  16. c语言程序(十八)——迭代计算
  17. iphone 程购买实现
  18. 3dsmax启动闪退的解决方法
  19. 学校开展计算机教学的简报,教学工作简报(2019年第5期)
  20. 树莓派与PCF8591模数转换器的那些事儿

热门文章

  1. python查询数据库后更新_python 实现数据库中数据添加、查询与更新的示例代码...
  2. 频繁模式增长Frequent-Pattern Growth(FP-Growth)
  3. 原子操作、互斥锁、读写锁
  4. Tensorflow笔记(基础):批处理(batch_normalization)
  5. ASP.NET Session 的详细解释
  6. SharePoint 权限提升(SPSecurity)
  7. Java实现MySQL数据库导入
  8. PyTorch 1.0 中文官方教程:什么是 PyTorch
  9. 数据科学 IPython 笔记本 8.17 使用 Seaborn 的可视化
  10. Theano 中文文档 0.9 - 5.3 Windows安装说明