os.path.getsize()用于获取指定普通文件的字节大小,不支持目录;需确保路径存在且为文件,否则抛FileNotFoundError或IsADirectoryError。

os.path.getsize() 用于获取指定文件的大小(以字节为单位),不是获取目录或路径本身大小,也不能直接用于文件夹。
基本用法:传入文件路径字符串
必须确保路径指向一个真实存在的普通文件,否则会抛出 FileNotFoundError;如果路径是目录,会报 IsADirectoryError(Python 3.6+)或返回错误结果(旧版本)。
- 导入模块:
import os - 调用方式:
os.path.getsize("文件路径") - 返回值:整数,单位是字节(例如 1024 表示 1KB)
常见使用示例
✅ 正确用法:
import os
size = os.path.getsize("example.txt")
print(size) # 输出类似:2048❌ 错误用法:
立即学习“Python免费学习笔记(深入)”;
-
os.path.getsize("nonexistent.txt")→ 报 FileNotFoundError -
os.path.getsize("./my_folder")→ 报 IsADirectoryError(推荐用os.scandir()或os.walk()计算目录总大小)
安全使用的建议
实际项目中建议先检查路径是否存在且为文件:
- 用
os.path.isfile(path)确保是文件 - 用
os.path.exists(path)确保路径存在(可选,因为 isfile 已隐含) - 加 try-except 捕获权限不足等异常(如 PermissionError)
示例:
import os
path = "report.pdf"
if os.path.isfile(path):
try:
print(f"{path} 大小:{os.path.getsize(path)} 字节")
except PermissionError:
print("无访问权限")
else:
print("不是有效文件")注意与其他函数的区别
别和以下函数混淆:
-
os.stat(path).st_size:效果相同,但更底层,适合需要其他文件属性时一并获取 -
os.path.getmtime()/getatime():获取时间,不是大小 -
len(open(...).read()):低效且不推荐——会读入内存,对大文件危险











