os.path.getsize()用于获取指定普通文件的字节大小,不支持目录;需确保路径存在且为文件,否则抛FileNotFoundError或IsADirectoryError。
os.path.getsize() 用于获取指定文件的大小(以字节为单位),不是获取目录或路径本身大小,也不能直接用于文件夹。
必须确保路径指向一个真实存在的普通文件,否则会抛出 FileNotFoundError;如果路径是目录,会报 IsADirectoryError(Python 3.6+)或返回错误结果(旧版本)。
import os
os.path.getsize("文件路径")
✅ 正确用法:
import os
size = os.path.getsize("example.txt")
print(size) # 输出类似:2048❌ 错误用法:
os.path.getsize("nonexistent.txt") → 报 FileNotFoundErroros.path.getsize("./my_folder") → 报 IsADirectoryError(推荐用 os.scandir() 或 os.walk() 计算目录总大小)实际项目中建议先检查路径是否存在且为文件:
os.path.isfile(path) 确保是文件
os.path.exists(path) 确保路径存在(可选,因为 isfile 已隐含)示例:
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()):低效且不推荐——会读入内存,对大文件危险