[color=green][size=large][b]每到月末,桌面上基本都会爆满,散仙的习惯一个月整理一次桌面,上面放了各种文件,word,excel,txt,jar,压缩包等等,如果每天整理一次,感觉比较麻烦,一个月整理一次,又发现到时候整理的东西,实在太多了,少说也得花了5,6分钟,而且还得,分年分月分类拷贝进去和剪切,所以,就用python写了个整理桌面的小程序,其实不一定是桌面,任何一个路径下的文件,都可以整理,拷贝,整理路径是提前定义好的,这样才能整理。

当然这个程序,现在只是控制台,和cmd或shell下可以运行,等以后有空,把它做成窗体形式这样就更方便了。
先看下整理的几个分类:

[/b][/size][/color]

[img]http://dl2.iteye.com/upload/attachment/0101/7866/8c9dc8c9-638b-3799-af65-bb6d6e9d1d3c.jpg[/img]
[b][color=olive][size=large]再看下,按年月整理的截图:[/size][/color][/b]

[img]http://dl2.iteye.com/upload/attachment/0101/7868/bf93169a-98be-3d97-b25e-893e951e6b6e.jpg[/img]

[b][color=olive][size=large]当然,散仙定义的分类不一定非常完全,符合每个人分类习惯,所以会有一个未分类文件夹存放没有被分类的文件,当然如果你想定义的更细分,可以直接在代码里添加一个目录,后面如果有空,等散仙做成窗体的形式,就可以在桌面上动态添加分类文件夹,下面看下源码(基于python3.4的版本):
[/size][/color][/b]

import osimport  shutil

#源目录,这里假设是桌面需要程序自动整理的路径dirpath="C:\\Users\\qindongliang\\Desktop\\存档\\"

#当前月份路径,定义按多少月份归档currentMonth="2014年9月份整理\\"

#根路径,存放一年多个月的归档数据rootpath="C:\\Users\\qindongliang\\Desktop\\2014年整理\\"

#chm文件存档chm=rootpath+currentMonth+"chm\\"#csv文件存档地址csv=rootpath+currentMonth+"csv文件\\"#excel文件存档地址excel=rootpath+currentMonth+"excel\\"#jar文件存档地址jar=rootpath+currentMonth+"jar包\\"#java相关文件存档地址java=rootpath+currentMonth+"java的相关\\"#pic相关文件存档地址pic=rootpath+currentMonth+"pic图片\\"#shell脚本或bat文件相关文件存档地址shellOrBat=rootpath+currentMonth+"shell脚本或bat文件\\"#txt相关文件存档地址txt=rootpath+currentMonth+"txt\\"#word相关文件存档地址word=rootpath+currentMonth+"word\\"#各种文件夹相关文件存档地址dirss=rootpath+currentMonth+"各种文件夹\\"#tar相关文件存档地址tar=rootpath+currentMonth+"各种压缩包\\"#pdf相关文件存档地址pdf=rootpath+currentMonth+"pdf\\"#无分类文件unknowFile=rootpath+currentMonth+"未分类文件\\"

def beginWork(dp):    #转成元组表示    tt=tuple(os.walk(dp));    #print(len(tt[0][1]))    #一级目录下的所有文件夹    dirs=tt[0][1]    #一级目录下的所有文件    files=tt[0][2]    print("文件夹总数量: ",len(dirs),"文件总数据量: ",len(files),"总共文件数:",len(dirs)+len(files))    print("====================移动文件开始==================================")    for var in tt[0][2]:        filename=dp+"\\"+var        #print(filename)        if filename.endswith("chm") or filename.endswith("chw"):            if not os.path.exists(chm):                os.makedirs(chm)                print(chm,"文件夹不存在,已生成!")            shutil.move(filename,chm)        elif filename.endswith("jar"):            if not os.path.exists(jar):                os.makedirs(jar)                print(jar,"文件夹不存在,已生成!")            shutil.move(filename,jar)        elif filename.endswith("csv"):            if not os.path.exists(csv):                os.makedirs(csv)                print(csv,"文件夹不存在,已生成!")            shutil.move(filename,csv)        elif filename.endswith("excel"):            if not os.path.exists(excel):                os.makedirs(excel)                print(excel,"文件夹不存在,已生成!")            shutil.move(filename,excel)        elif filename.endswith("java"):            if not os.path.exists(java):                os.makedirs(java)                print(java,"文件夹不存在,已生成!")            shutil.move(filename,java)        elif filename.endswith("jpg") or filename.endswith("gif"):            if not os.path.exists(pic):                os.makedirs(pic)                print(pic,"文件夹不存在,已生成!")            shutil.move(filename,pic)        elif filename.endswith("sh") or filename.endswith("bat"):            if not os.path.exists(shellOrBat):                os.makedirs(shellOrBat)                print(shellOrBat,"文件夹不存在,已生成!")            shutil.move(filename,shellOrBat)        elif filename.endswith("txt"):            if not os.path.exists(txt):                os.makedirs(txt)                print(txt,"文件夹不存在,已生成!")            shutil.move(filename,txt)        elif filename.endswith("pdf"):            if not os.path.exists(pdf):                os.makedirs(pdf)                print(pdf,"文件夹不存在,已生成!")            shutil.move(filename,pdf)        elif filename.endswith("doc") or filename.endswith("docx"):            if not os.path.exists(word):                os.makedirs(word)                print(word,"文件夹不存在,已生成!")            shutil.move(filename,word)        elif filename.endswith("gz") or filename.endswith("zip"):            if not os.path.exists(tar):                os.makedirs(tar)                print(tar,"文件夹不存在,已生成!")            shutil.move(filename,tar)        else:            if not os.path.exists(unknowFile):                os.makedirs(unknowFile)                print(unknowFile,"文件夹不存在,已生成!")            shutil.move(filename,unknowFile)            print("无分类的文件: "+filename)        #print(filename)    print("====================移动目录开始==================================")    for var in tt[0][1]:        tempdir=dp+"\\"+var        shutil.move(tempdir,dirss+"\\"+var)        print("移动"+tempdir+"到"+dirss+"路径完毕.......")

#开始分类beginWork(dirpath)

[b][color=olive][size=large]运行效果如下所示:[/size][/color][/b]

D:\python\python.exe D:/pythonide/pythonprojectworkspace/python进阶/操作IO/fo.py文件夹总数量:  27 文件总数据量:  27 总共文件数: 54====================移动文件开始==================================C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\pic图片\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\csv文件\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种压缩包\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\txt\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\未分类文件\ 文件夹不存在,已生成!无分类的文件: C:\Users\qindongliang\Desktop\存档\\ersave.datC:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\shell脚本或bat文件\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\word\ 文件夹不存在,已生成!无分类的文件: C:\Users\qindongliang\Desktop\存档\\hadoop-metrics2.properties无分类的文件: C:\Users\qindongliang\Desktop\存档\\hosts无分类的文件: C:\Users\qindongliang\Desktop\存档\\hrider.7zC:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\chm\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\jar包\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\java的相关\ 文件夹不存在,已生成!C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\pdf\ 文件夹不存在,已生成!====================移动目录开始==================================移动C:\Users\qindongliang\Desktop\存档\\360wenjianhuifu到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\apache-curator-2.6.0-source-release到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\bbb到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\curatorlib到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\data到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\dhgate-lganalysis-impl到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\easyrecover6.0到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\etc到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\fdfdfd到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hadoop2.2一键安装到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hadoopconf到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hadoopsys到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hadoop安装脚本到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hbaseconf到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\hrider到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......移动C:\Users\qindongliang\Desktop\存档\\lib到C:\Users\qindongliang\Desktop\2014年整理\2014年9月份整理\各种文件夹\路径完毕.......

Process finished with exit code -1

[b][color=olive][size=large]完成后,随便打开几个截图如下:[/size][/color][/b]

[img]http://dl2.iteye.com/upload/attachment/0101/7872/2246d3c5-98f5-3507-ada3-c50263de62da.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0101/7874/29679904-b953-3a3f-bded-54cb80217915.jpg[/img]

[b][color=green][size=large]其实这也没啥技术含量,就是拷贝,目录,判断分类,移动文件或文件夹等,随便用什么语言写都可以完成,最后如果是在桌面运行,可以指定定义一个目录或文件列表,不被移除,比如windows自带的那几个,最好是把所有的杂项文件,放在一个桌面上的文件夹里,这样以来,就可以直接使用了。[/size][/color][/b]

python桌面整理小助手相关推荐

  1. Python 桌面整理小工具程序

    做了个简单的桌面整理的程序,实现功能: 输入文件夹名称XXX,自动在桌面上新建一个文件夹XXX,然后将桌面上的文件的扩展名在XXX里新建子文件夹.再把相应到的文件移动到对应的子文件夹下,如doc文件都 ...

  2. 推荐一个桌面整理小工具

    试了很多的桌面整理工具,网上那些排行简直了,纯粹是做广告,那么难用竟然还排前几.经试用,觉得金山旗下的最好用,简洁大方,用起来特顺手,还特别方便换桌面背景. 下载地址:http://www.ijins ...

  3. python桌面实验小软件,实现地图信息整理为电子表格

    地图数据采集的使用: 1.选择了地区:选择地区如果只选择省份,那么则采集该省下的所有县级关键词数据:同理,如果地区选择到"市级",则采集该市下的所有县级数据. 2.关键词设置:如果 ...

  4. python登录界面源码_基于Python的自媒体小助手---登录页面的实现代码

    核心技术:Python3.7 GUI技术:Tkinter (Python已经内置) 好多文章写Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 我看了N遍也没够好多东西都没有就基 ...

  5. python小助手_Python实现微信小助手

    Python实现微信小助手 摘要:该程序实现接入个人微信号并实现自动回复的功能,同时可选择好友有消息时短信通知或者邮件通知你.接入微信号使用了作者:LittleCoderLittleCoderLitt ...

  6. 利用Python制作王者荣耀出装小助手,引来了老板的注意!

    导语 T_T并不玩这些游戏... 单纯来蹭个热点... 大概是因为蹭热点需要的技术含量比较低? 就这样吧~~~ 利用Python制作命令行版的王者荣耀出装小助手. Let's Go! 开发工具 Pyt ...

  7. 居家学习python自制闹铃小助手

    闹铃小助手 为了建立学习的仪式感,我自己写了一套程序,尽可能让自己避免外界因素的干扰,以达到专注的目的.现在我把代码写到博客上,与大家一起分享一下. 注意:windows下使用playsound需要修 ...

  8. python代码提示太弱了_10行Python代码制作群聊提醒小助手,再也不怕漏掉消息了...

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会 吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚 ...

  9. python小助手_如何用python写个人专属群聊提醒小助手?

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

  10. 超星学习通小助手多线程工具Python

    话不多说,直接开始,不会安转的直接使用后面两款,下载直接打开exe运行 第一款:网课小助手python,需要自行安装Python环境(支持Windows.Mac.Linux各种环境) https:// ...

最新文章

  1. EF跨库查询,DataBaseFirst下的解决方案
  2. SpringBoot @ConfigurationProperties详解
  3. python multiprocessing遇到Can’t pickle instancemethod问题
  4. java JVM常见的四大异常及处理方案
  5. VS2015 密钥(证实有效)
  6. HTML+JavaScript实现黑客帝国代码雨
  7. ISO-11270-车道保持辅助系统LKA性能测试方法和流程
  8. C# 给Excel添加水印
  9. 基于ML或DL的iot ddos detection 文献整理
  10. 在计算机基础这门课程中可以学到什么,计算机基础个人总结
  11. HWADDR配置错误导致network重启失败处理
  12. Mac清理磁盘管理内存的软件推荐
  13. navicat连接数据报10060错误
  14. 如何申请邮箱号,两步轻松完成
  15. QWS:Qt Windows System
  16. python-web开发[15]之初识Django
  17. 数字医疗产业论坛丨03期沪贵云上
  18. Outlook可以收发Live Mail了
  19. JVM重要知识点整理和学习
  20. 基于Java的微信公众号二次开发视频教程

热门文章

  1. 关于ognl.OgnlException: target is null for setProperty(null的解决方案
  2. POJ 2387 Dijkstra
  3. 查询论文SCI/EI检索及引用报告
  4. ubuntu Opencv4及扩展模块编译安装过程
  5. PPT幻灯片放映时不显示视频(旁白)
  6. node-sass 安装失败,原因总结
  7. 开源webrtc服务器对比
  8. matlab绘制正弦波频谱图,matlab对正弦信号作FFT得到频谱图
  9. 旅游吧!我在这里—旅游相册POI搜索:找回你的足迹
  10. 杭州五大湖风景名胜区