环境os:centos7python:3.7实现功能统计当目录下文件夹有文件大小时,单位为KB/MB/B;代码实现#!/usr/bin/envpython#_*_coding:utf-8_*_importos,mathsummary=0defsize_file(str2):globalsummarysummary=summary+os.path.getsize(str2)defsize_dir(str1):dlist=os.listdir(str1)#print("统计目录:"+str1)forfindlist:file1=os.path.join(str1,f)ifos.path.isfile(file1):size_file(file1)else:size_dir(file1)definit_os(path_init):ifos.path.exists(path_init):#文件存在计算文件大小;size_dir(path_init)if1024<=math.ceil(summary)<=1000000:print("[{}]directory:".format(path_init)+str(summary/1024)+'KB')elifmath.ceil(summary)>1000000:print("[{}]目录:".format(path_init)+str((summary/1024)/1024)+'MB')else:print("[{}]目录:".format(path_init)+str(summary)+'B')else:print("目录不存在!请重新输入。")defmain(local_path):dblist=os.列表目录(local_path)fordindblist:file2=os.path.join(local_path,d)#统计当前目录下文件的大小;如果os.path.isfile(file2):size_file(file2)如果1024<=math.ceil(summary)<=1000000:print("[{}]:".format(file2)+str(summary/1024)+'KB')elifmath.ceil(summary)>1000000:print("[{}]:".format(file2)+str((summary/1024)/1024)+'MB')else:print("[{}]:".format(file2)+str(summary)+'B')#统计当前目录下的文件夹大小else:init_os(file2)if__name__=='__main__':path=os.getcwd()main(小路)
