Skip to main content
 首页 » 编程设计

python之获取文件大小的最佳方法是什么

2025年05月04日11落叶无声

实际上我想到了三种确定文件大小的方法:

  1. 打开读取,用len()得到字符串的大小
  2. 使用 os.stat 并通过 st_size 获取它 -> 什么应该是“正确”的方式,因为它由底层操作系统处理
  3. os.path.getsize 和上面一样

那么确定文件大小的实际正确方法是什么?最糟糕的做法是什么? 或者它根本不重要,因为到头来都是一样的?

(我可以想象第一种方法对非常大的文件有问题,而其他两种则没有)

请您参考如下方法:

如果您无论如何都不需要文件的内容,那么第一种方法将是一种浪费。您的其他两个选项中的任何一个都可以。 os.path.getsize() 使用 os.stat()

来自通用路径.py

def getsize(filename): 
    """Return the size of a file, reported by os.stat().""" 
    return os.stat(filename).st_size 

编辑:

如果不是很明显,os.path.getsize() 来自 genericpath.py。

>>> os.path.getsize.__code__ 
<code object getsize at 0x1d457b0, file "/usr/lib/python2.7/genericpath.py", line 47>