Python之练习Demo
遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果,代码如下:
#coding:GBK import os; def SortList(item): return item[1]; def ReadSize(fileName): return float(os.path.getsize(fileName)); def WriteAll(path): l = [] loger = open("test.log","w"); writer = open("path.txt","w"); reader = open("path.txt","r"); size = 0; for root,dirs,files in os.walk(path): for filesPath in files: try: fllePath = os.path.join(root,filesPath); fileSize = float(ReadSize(fllePath)/1024); size += fileSize; x = (fllePath,int(fileSize)); l.append(x); except: loger.write("读取:"+os.path.join(root,filesPath)+"文件大小失败!\n"); continue; l = sorted(l,key=SortList,reverse=True); for item in l: strTmp = ""; if float(item[1]/1024) > 1024: strTmp = item[0]+" "+str(int(float(item[1]/1024/1024)))+"GB\n"; elif item[1] > 1024: strTmp = item[0]+" "+str(int(float(item[1]/1024)))+"MB\n"; else: strTmp = item[0]+" "+str(item[1])+"KB\n"; writer.write(strTmp); writer.write("共使用磁盘空间:"+str(float(size/1024))+"MB"); loger.close(); writer.close(); print(reader.read()); reader.close(); fileName = os.getcwd(); WriteAll(fileName); raw_input("END...");
努力,不一定会成功,但至少不会输得太惨!志远道艰,坚持~! ——灬君臨灬