특정 디렉토리에 의해, 다른 하위 유형 및 파일의 모든 통계는 메모리를 차지

# !를 / usr / 빈 / ENV 파이썬 

#의 UTF-8 인코딩 

"" " 

@author : 웨인 

@file : file_type.py 

@time : 2018년 11월 13일 19시 46분 

" "" 

가져 오기 운영 체제 

 

"" " 

주어진으로 디렉토리는 모든 다른 파일 유형 및 하위 메모리를 계산 

"" " 

 

size_dict = {} 

type_dict = {} 

 

DEF의 : get_size_type (경로) 

    파일 = os.listdir (경로) 

    에 대한 파일 이름 에서 : 파일을 

        Temp_Path = (os.path.join 경로, 파일 이름) 

        IF ) os.path.isdir (Temp_Path :

            get_size_type (Temp_Path)      #의 재귀

        ELIF의 os.path.isfile (temp_path) 

            TYPE_NAME = os.path.splitext (temp_path) [1 ] 

            # 无后缀名的文件

            경우  되지 type_name을 아니오 

                type_dict.setdefault ( " 없음 " , 0) 

                type_dict [ " 없음 " ] + = 1 

                size_dict.setdefault ( " 없음 " , 0) 

                size_dict [ " 없음 " ] + = os.path.getsize (temp_path) 

            다른 : 

                type_dict.setdefault (TYPE_NAME 0) 

                type_dict [TYPE_NAME]= 1 + 

                size_dict.setdefault (TYPE_NAME, 0) 

                size_dict [TYPE_NAME] + = os.path.getsize (Temp_Path) #의 가져 오기 파일 크기 

 

 

경로 = " E : \\ 공동 프로젝트 데이터베이스 " 

get_size_type (경로) 

에 대한 each_type type_dict. : 키 () 

    인쇄 ( " 총 [%의 S [%의 D] 파일이 파일 폴더 차지 메모리 %의 .2f] [MB " %      

(each_type, type_dict [each_type] size_dict [each_type] / (1024 * 1,024 ))) 

인쇄 ( " 파일의 총 수 : []가 % d ' % (SUM (type_dict.values ()))) 

인쇄 ( " 전체 메모리 크기 [GB] % .2f" % (SUM (size_dict.values ()) / (1,024 ** 3)))

 

추천

출처www.cnblogs.com/cupleo/p/11403579.html