# !를 / 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)))