python getsize如何使用

15次阅读

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

python getsize如何使用

os.path.getsize() 用于获取指定文件的大小(以字节为单位),不是获取目录或路径本身大小,也不能直接用于文件夹。

基本用法:传入文件路径字符串

必须确保路径指向一个真实存在的普通文件,否则会抛出 FileNotFoundError;如果路径是目录,会报 IsADirectoryErrorpython 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()):低效且不推荐——会读入内存,对大文件危险

text=ZqhQzanResources