环境
os: centos7
python : 3.7
实现功能
统计当目录下的文件夹有文件的大小,单位KB/MB/B;
代码实现
#!/usr/bin/env python # _*_ coding:utf-8 _*_ import os,math summary=0 def size_file(str2): global summary summary=summary+os.path.getsize(str2) def size_dir(str1): dlist=os.listdir(str1) # print("正在统计目录:"+str1) for f in dlist: file1=os.path.join(str1,f) if os.path.isfile(file1): size_file(file1) else: size_dir(file1) def init_os(path_init): if os.path.exists(path_init): # 文件存在计算文件的大小; size_dir(path_init) if 1024 <= math.ceil(summary) <= 1000000: print("[{}]目录: ".format(path_init)+str(summary/1024)+'KB') elif math.ceil(summary) > 1000000: print("[{}]目录: ".format(path_init)+str((summary/1024)/1024)+'MB') else: print("[{}]目录: ".format(path_init)+str(summary)+'B') else: print("目录不存在!,请重新输入.") def main(local_path): dblist=os.listdir(local_path) for d in dblist: file2 = os.path.join(local_path, d) # 统计当前目录下文件的大小; if os.path.isfile(file2): size_file(file2) if 1024 <= math.ceil(summary) <= 1000000: print("[{}]: ".format(file2) + str(summary / 1024) + 'KB') elif math.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(path)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。