后来才发现,,,CSDN的编辑器是个坑,复制上去的图片在编辑的时候还是好的,但是一发布出去就没了。。。

首先就是我为什么要写这个小工具。因为照片实在是太多了,当时手机拍下来了,就拷贝到一个文件夹,久而久之,文件夹里面已经有2000+个文件了,于是决定用python来吧照片按年分类(其实有很多办法,根本不用这么麻烦,但是这里也是熟悉一下python的文件操作)。

首先观察原始数据,发现无论是2013_10_31_11_33_49.jpg这种还是C360_2013-10-16-18-10-18-977_org.jpg还是IMG_20131009_072210.jpg,文件名总是有个时间,我是2013年上的大学,然后在2013年才有了手机,所以,手机的照片最早就是在2013年记录的,考虑到现在是2017年,所以先建立了 2013 - 2017几个文件夹((lll¬ω¬) 快成了半手动了,,,已经开始背离了最初的目的),然后发现python的os库有个listdir可以列出来文件名。如图。。。

然后再借助python文件操作的库:

目录操作: os.mkdir("file")创建目录 复制文件: shutil.copyfile("oldfile","newfile")oldfile和newfile都只能是文件 shutil.copy("oldfile","newfile")oldfile只能是文件夹,newfile可以是文件,也可以是目标目录 复制文件夹: shutil.copytree("olddir","newdir")olddir和newdir都只能是目录,且newdir必须不存在 重命名文件(目录) os.rename("oldname","newname")文件或目录都是使用这条命令 移动文件(目录) shutil.move("oldpos","newpos") 删除文件 os.remove("file") 删除目录 os.rmdir("dir")只能删除空目录 shutil.rmtree("dir")空目录、有内容的目录都可以删 转换目录 os.chdir("path")换路径

嗯是否感到很容易了呢?

附代码:

import os,shutil

ls = os.listdir('./Camera')

print len(ls)

for i in (ls):

if i.find("2017")!=-1:

shutil.move("./Camera/"+i,"./2017/"+i)

elif i.find("2016")!=-1:

shutil.move("./Camera/"+i,"./2016/"+i)

elif i.find("2015")!=-1:

shutil.move("./Camera/"+i,"./2015/"+i)

elif i.find("2014")!=-1:

shutil.move("./Camera/"+i,"./2014/"+i)

elif i.find("2013")!=-1:

shutil.move("./Camera/"+i,"./2013/"+i)

else:

shutil.move("./Camera/"+i,"./other/"+i)

print "Finish"

但是,还有一个问题,就是我强调过,这是手机的照片的命名方式,那么,相机的呢?是这个样的:

以及这样的:

那么应该如何处理呢?照片其实都带有一个exif信息,里面记录了拍照时间,相机参数,照片参数,作者信息等等。根据这个信息,也能进行一个分类,等有时间了在搞一搞。

PS:想文件名就带有时间信息的,完全可以在window中打开到那个文件夹,搜索年份,然后Ctrl+A 就Ok了。。。

python 进行照片分类_python 照片文件名分类相关推荐

  1. python中实例方法分类_python方法的分类(实例方法、类方法、静态方法)

    方法和函数的区分 很多童鞋会比较疑惑,方法和函数有什么区别,都是通过def去定义的啊? 只需要记住一点,方法是用来描述一个目标的行为动作! 不论你是直接通过 类名.方法调用,还是通过由类生成的实例.方 ...

  2. python图片压缩软件_Python照片压缩

    Python照片压缩软件是一款功能强大且实用的图片压缩工具,能够帮助用户自动调整各种图像的尺寸,还能压够缩图片大小,帮助我们更好地处理各种图像问题,Python照片压缩用Python语言写成,所以问题 ...

  3. python分箱代码_python实现二分类的卡方分箱示例

    解决的问题: 1.实现了二分类的卡方分箱: 2.实现了最大分组限定停止条件,和最小阈值限定停止条件: 问题,还不太清楚,后续补充. 1.自由度k,如何来确定,卡方阈值的自由度为 分箱数-1,显著性水平 ...

  4. python人工智能算法代码_python人工智能,分类例解

    分类是一种常见的机器学习算法,是一种有监督的算法.简单说就是给出学习集数据都是带标签的,通过训练学习集数据获得模型,对未来给出的实际数据,根据模型进行分类.这里采用K最近邻算法(KNN,K-neare ...

  5. python元素分类_Python 练习 - 元素分类

    有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90], 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中. 即: {'k1 ...

  6. python元素分类_Python练习 - 元素分类

    功能说明: v1 = [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中 代码: #!/usr ...

  7. python批量替换文件_python实现文件名批量替换和内容替换

    指定文件夹,指定文件类型,替换该文件夹下全部文件的内容. 注意在window下的读写内容需要指定编码,还需要在文件头指定#coding:utf-8 编码,避免出现编码问题. 代码如下: #coding ...

  8. python决策树 多分类_Python中的决策树分类:您需要了解的一切

    python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...

  9. python做图片美化_Python实现简单的照片磨皮(照片智能磨皮) 最新免费版

    Python实现简单的照片磨皮(照片智能磨皮)是一款用python写的最好的照片磨皮软件.需要配置opencv和numpy,使用的时候地址需要加英文的引号,斜杠要用双斜杠,例如"D:\\a. ...

  10. python爬虫和定位_Python网络爬虫实战(三)照片定位与B站弹幕

    之前两篇已经说完了如何爬取网页以及如何解析其中的数据,那么今天我们就可以开始第一次实战了. 这篇实战包含两个内容. * 利用爬虫调用Api来解析照片的拍摄位置 * 利用爬虫爬取Bilibili视频中的 ...

最新文章

  1. Redis初学:9(Zset类型)
  2. Awk使用案例总结(运维必会)
  3. Vue 学习 第六天学习笔记
  4. 正则只能小于0负数_2019–2020学年七年级数学期末考试考点之正数与负数考点详解...
  5. AJAX - 浏览器支持
  6. PLC编程语言都在这里了!
  7. 软件工程导论复习提纲
  8. python解析excel函数
  9. 暑假视力如何保护?护眼台灯可以保护视力
  10. peoplesoft笔记
  11. 定制ToolChain for ARM
  12. XCTF-PWN welpwn
  13. CS231n作业2中Cython相关问题的处理
  14. 关于高德地图问题总结 (二)地理围栏的使用
  15. 自定义复选框,复选框样式修改,重写复选框
  16. MTK平台唤醒源分类
  17. 使用 Vanilla JavaScript 框架创建一个简单的天气应用
  18. 入门爬虫,爬取数据这一篇就够了!!!
  19. 7-4 美女排名 (15分)
  20. 护眼绿设置_保护眼睛-win10系统颜色(豆沙绿)设置

热门文章

  1. 思考的力量-总结-脑图
  2. 英语句式参考纯享版 - 主语从句 - 表语从句
  3. 【Word 教程系列第 2 篇】Word 中如何设置每页的表格都有表头
  4. matlab 拉普拉斯金字塔,图像拉普拉斯金字塔(laplacian pyramid)并从金字塔重建原图 matlab程序实现...
  5. android 应用APK使用系统APK
  6. html表单填写保存在哪里,网页表单保存在什么位置
  7. matlab画多個平面,matlab的平面二维图的绘制.ppt
  8. MacBook连接打印机-惠普HP LaserJet Pro MFP M427fdn 连接方法
  9. Excel绘制折线图--更新中。。。
  10. web开发环节,阿里前端工资多少