使用Python进行文件整理(一)
磁盘不进行碎片整理会是一个问题。
没有垃圾回收机制也是一个问题。
当下载的各种论文各种pdf在电脑的各个文件夹中乱七八糟的时候,是不是就会无缘无故的心烦意燥起来,明明记得那份论文已经下载下来了,但不知道放那去了,难道再下一份?或者这下载的已经不是第二份了。不擅长于文件管理,系统的文件管理还不够智能,文件管理就成了一个头疼的问题。
现在云炒得很热,云存储,云操作系统,只要一个Web浏览器就可以了。现在的网速还不是很快,把文件放在云端还不那么靠谱,但是我觉得把文件用Web界面来管理还是很不错的。Google一直在搞Chrome OS,专门搞了个浏览器操作系统,我觉得很浪费资源。它直接把Chrome加强一下,可以管理本地文件,可以运行APP,不就是很好的浏览器操作系统么?安装在Windows或者Linxu上,不需要专门买个Chrome本。
在Web界面面上管理文件,首先图片是很好搞定的,不管什么格式,浏览器都可以支持的,还可以有各种相册,各种相框,各种展示方式,不像windows一样,还得搞个预览,还大图标,小图标。音乐也很好搞定,对吧。高清电影可能会有点问题,用浏览器播放高清电影可能效果不会太好,但可以使用本地应用,其他播放器啊,又不是一定要浏览器来播放,我只是希望用浏览器来管理。论文,pdf,这一类如果能像IEEE上,论文作者,摘要信息,显示出来,自己也可以分类管理,岂不是很好?用浏览器可以给论文添加文件信息,分类标签等,windows的资源管理器可以吗?越想越觉得资源管理器矬。其他的office的东西,虽然不能用浏览器来查看编辑,但是添加标签进行管理还是可以的。
主要原因或许就是Web信息是结构化的,很容易组织起来,还可以有数据库的支持。比资源管理器好多少倍。
不多说了,还是看看Python怎么来管理文件和文件夹吧。
Python的os模块是与系统管理相关的,可以参考http://docs.python.org/library/os.html以及http://www.cnblogs.com/yuxc/archive/2011/08/01/2124012.html。
目前主要是想整理pdf文件,所以程序里面是对pdf文件进行操作。
代码如下,
import os pdfviewer = "evince" trash = "/home/trash" rec = dict() trash += "/" if not os.path.exists(trash): os.mkdir(trash) def checkPDF(dir_name): cur_dir_name = os.getcwd() L = os.listdir(dir_name) os.chdir(dir_name) #print L for name in L: if os.path.isdir(name): checkPDF(name) elif os.path.isfile(name) and name not in rec: fname,fext = os.path.splitext(name) if fext==".pdf": tname = name #文件名中有空格或者特殊符号的时候有些问题 if " " in tname: tname = tname.replace(" ","\ ") if "(" in tname: tname = tname.replace("(","\(") if ")" in tname: tname = tname.replace(")","\)") cmd = pdfviewer +" " + tname print cmd os.system(cmd) newname = raw_input("input the name:") #如果想删除这个文件,为避免误删,先放在trash文件夹 if newname=="-1": cmd = "mv" + " " + name + " " + trash os.system(cmd) print cmd #os.remove(name) #如果不需要重命名,就输入0 elif newname!="0": cmd = "mv" + " " + name + " " + newname #os.system(cmd) print cmd os.name(name,newname) rec[name] = newname os.chdir(cur_dir_name) checkPDF("./")
后面还需要实现文件移到分类的文件夹,初步想法是根据文件名来确定路径,因为是这样想的,所以先重命名。还需要把文件目录信息转化为网页信息,导入数据库等,遮掩个就更容易查找和管理。
恩,先这样。
好像这样还是很矬。。。