zoukankan      html  css  js  c++  java
  • 在指定的盘符,搜索出给定后缀名的文件

    # -*- 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:UsersAdministratorDesktop新浪APIinfo.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	%s	%s'%(now,filepath,size)
                    ABS_FILES.append(string)
                    
                                   
    #完成写入和打印操作
    if __name__=='__main__':
        #写入文件
        info=open('info.log','w+')
        for files in ABS_FILES:
            info.write(files+'
    ')
        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
    '''
  • 相关阅读:
    解决VS在高DPI下设计出的Winform程序界面变形问题
    ribbon 收起 最小化 导航条 选项卡 navBarControl 隐藏
    Devexpress Ribbon Add Logo
    DevExpress控件使用小结 z
    Devexpress中统一设置字体样式的方法
    微信小程序回到顶部的两种方式
    PHP房贷计算器代码,等额本息,等额本金
    java 时间转换
    spark 编译
    mvn常用命令
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/4933974.html
Copyright © 2011-2022 走看看