首页 > 学院 > 开发设计 > 正文

Python之练习Demo

2019-11-14 17:21:06
字体:
来源:转载
供稿:网友

遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果,代码如下:

#coding:GBKimport 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...");

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表