sumdir——一个伪python.built-in的“术法”打造【笔者致歉由于我的OPPO A11X太老太次无法用CSDN安卓app升级了内核的MD编辑器渲染分享内容文本导致两个多月7月中旬至9月底没有分享一个字符换设备可以解决所有问题但问题是目前没有“机会”。吾退而求其次仅仅以纯文本分享“核心”句点几张图片一般为截屏图片最大限度降低阅读的不适。☺️】代码运行效果截屏图片## 附python源码python#!/usr/bin/env python3import os__author__ 梦幻精灵_cq__version__ 2.0 # 终结版__built_time__ 2026-10-01 09:42__finaledit_time__ 2026-10-01 10:03sumdir lambda path: sum(file.stat().st_size # 提取文件大小for file in (_ for _ in os.scandir(path) if _.is_file()) # 筛选指定目录文件) # sum目录下所有文件大小if __name__ __main__:color lambda c90: f\x1b[{c}m # 定义终端渲染状态机设定指令装载系统cwd __file__[:__file__.rfind(/) 1] # 此方法提取当前目录缺陷永远指向*.py文件存储目录。cwd os.getcwd() # 此法有坑如果不当前目录run脚本它就返回当前工作目录这一般没得卵用除非特需。paths (cwd,/sdcard/Documents/csdn/,/sdcard/Documents/,/sdcard/Documents/csdn/blog_infos/,/sdcard/Documents/csdn/newblog/,/sdcard/Documents/csdn/newblog/lib/,/sdcard/Documents/poem/)for path in paths:print(f\n{color()}目录\n{color(36)}{path}{color()}\n目录文件大小{color(96)}{sumdir(path)})print(color(0)) # 终端渲染状态机设定控制权移交系统我突发“奇想”find_newestfile派生出一个sumdir。直接打印字节数不好看得手搓一个字节数单位转换器b_ruler。pythonb_ruler lambda size: (f{size/1024**3:.2f}gb if size 1024**3 # 剥离GBelse f{size/1024**2:.2f}mb if size 1024**2 # 剥离MBelse f{size/1024:.2f}kb if size 1024 # 剥离KBelse str(size) # 为统一输出字节int to str)print(f\n{b_ruler(66889) }f\n{b_ruler(9494994) }f\n{b_ruler(1009494994).upper() })代码运行效果截屏图片附完整的sumdir源码及Demo截屏python#!/usr/bin/env python3import os__author__ 梦幻精灵_cq__version__ 2.0 # 终结版__built_time__ 2026-10-01 09:42__finaledit_time__ 2026-10-01 13:21sumdir lambda path: sum(file.stat().st_size # 提取文件大小for file in (_ for _ in os.scandir(path) if _.is_file()) # 筛选指定目录文件) # sum目录下所有文件大小b_ruler lambda size: (f{size/1024**3:.2f}gb if size 1024**3 # 剥离GBelse f{size/1024**2:.2f}mb if size 1024**2 # 剥离MBelse f{size/1024:.2f}kb if size 1024 # 剥离KBelse str(size) # 为统一输出字节int to str)if __name__ __main__:color lambda c90: f\x1b[{c}m # 定义终端渲染状态机设定指令装载系统cwd __file__[:__file__.rfind(/) 1] # 此方法提取当前目录缺陷永远指向*.py文件存储目录。cwd os.getcwd() # 此法有坑如果不当前目录run脚本它就返回当前工作目录这一般没得卵用除非特需。paths (cwd,/sdcard/Documents/csdn/,/sdcard/Documents/,/sdcard/Documents/csdn/blog_infos/,/sdcard/Documents/csdn/newblog/,/sdcard/Documents/csdn/newblog/lib/,/sdcard/Documents/poem/)for path in paths:print(f\n{color()}目录\n{color(36)}{path}{color()}\n目录文件大小{color(96)}{b_ruler(sumdir(path)).upper()})print(color(0)) # 终端渲染状态机设定控制权移交系统程序运行效果截屏图片〖申明一下sumdir的数值会比文件浏览器中看到的小它是纯粹数学求和文件浏览器是以磁盘存储计算含空白磁盘簇占用。〗