sumdir------一个伪python.built-in的"术法"打造
【笔者致歉:由于我的OPPO A11X太老太次,无法用CSDN安卓app升级了内核的MD编辑器渲染分享内容文本,导致两个多月(7月中旬至9月底)没有分享一个字符(换设备可以解决所有问题,但问题是目前没有"机会"😅)。吾退而求其次,仅仅以纯文本分享"核心"句点+几张图片(一般为截屏图片),最大限度降低阅读的不适。🙏☺️】
`代码运行效果截屏图片:`

附:`python源码:`
```python
#!/usr/bin/env python3
import os
author = '梦幻精灵_cq'
version = '2.0' # 终结版
built_time = '2026-10-01 09:42'
finaledit_time = '2026-10-01 10:03'
sumdir = lambda path: sum(
file.stat().st_size # 提取文件大小
for file in (_ for _ in os.scandir(path) if _.is_file()) # 筛选指定目录文件
) # sum目录下所有文件大小
if name == 'main':
color = lambda c=90: 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。🤗
```python
b_ruler = lambda size: (
f"{size/1024**3:.2f}gb" if size >= 1024**3 # 剥离GB
else f"{size/1024**2:.2f}mb" if size >= 1024**2 # 剥离MB
else f"{size/1024:.2f}kb" if size >= 1024 # 剥离KB
else 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 python3
import os
author = '梦幻精灵_cq'
version = '2.0' # 终结版
built_time = '2026-10-01 09:42'
finaledit_time = '2026-10-01 13:21'
sumdir = 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 # 剥离GB
else f"{size/1024**2:.2f}mb" if size >= 1024**2 # 剥离MB
else f"{size/1024:.2f}kb" if size >= 1024 # 剥离KB
else str(size) # 为统一输出字节int to str
)
if name == 'main':
color = lambda c=90: 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的数值会比文件浏览器中看到的小,它是纯粹数学求和,文件浏览器是以磁盘存储计算,含空白磁盘簇占用。〗