# -*- coding: cp936 -*- #python 27 #xiaodeng #http://www.cnblogs.com/hongten/p/hongten_python_file_info.html #在指定的盘符,搜索出给定后缀名的文件 #本脚本知识点: #os.listdir():返回指定目录下的所有文件和目录名(文件夹) #os.path.getsize(name):获得文件大小,如果name是目录返回OL #os.path.join(path,name):连接目录与文件名或目录 #os.walk(DESK),返回结果,三个参数 1.父目录,文件的目录;2.所有文件夹名字(不含路径);3.所有文件名字 import os import time now = str(time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time())))#当前时间 #####################《需要修改的参数》################################# #指定盘符 DESK=r‘C:\python‘#如路径包含中文,r不能丢~~ #信息保存文件的路径 SAVE_FILE = ‘C:\Users\Administrator\Desktop\新浪API\info.log‘ #需要查找的文件后缀类型 FILE_TYPE = [‘py‘,‘txt‘] #####################《全局变量定义》################################# #文件计数 FILE_COUNT=0 #目录计数 DIR_COUNT=0 #文件名(含绝对路径)总计 ABS_FILES=[] #符合要求的文件总数 YES_FILES_COUNT=[] #不符合要求的文件总数 NO_FILES_COUNT=[] #主程序开始 #os.walk(DESK)返回结果,三个参数(具备递归功能)。1.父目录,文件的目录;2.所有文件夹名字(不含路径);3.所有文件名字 for parent,dirnames,filenames in os.walk(DESK): #计算总共的文件夹个数 DIR_COUNT=DIR_COUNT+len(dirnames) #计算总共的文件个数 FILE_COUNT=FILE_COUNT+len(filenames) #提取符合要求的文件数据 for file in filenames: for key in FILE_TYPE:#遍历需要查询的特定后缀的文件,如:txt if key in file: YES_FILES_COUNT.append(key)#符合要求的文件总数 filepath=os.path.join(parent,file)#文件绝对路径 size=os.path.getsize(filepath)#获取文件大小 string=‘%s\t%s\t%s‘%(now,filepath,size) ABS_FILES.append(string) #完成写入和打印操作 if __name__==‘__main__‘: #写入文件 info=open(‘info.log‘,‘w+‘) for files in ABS_FILES: info.write(files+‘\n‘) info.close() print ‘查询结果:‘ print ‘##‘*20 print ‘总文件夹数量:‘,DIR_COUNT,‘总文件数量:‘,FILE_COUNT #print ‘文件名汇总:‘,FILES NO_FILES_COUNT=FILE_COUNT-len(YES_FILES_COUNT) print ‘符合要求的文件总数:‘,len(YES_FILES_COUNT),‘不符合要求的文件总数:‘,NO_FILES_COUNT ‘‘‘ 查询结果: ######################################## 总文件夹数量: 4 总文件数量: 7 符合要求的文件总数: 3 不符合要求的文件总数: 4 ‘‘‘
时间: 2024-10-23 01:58:05