在Python中获取文件大小?

时间:2011-07-06 05:30:55

标签: python file size

是否有内置函数来获取文件对象的大小(以字节为单位)?我看到有些人这样做:

def getSize(fileobject):
    fileobject.seek(0,2) # move the cursor to the end of the file
    size = fileobject.tell()
    return size

file = open('myfile.bin', 'rb')
print getSize(file)

但是根据我的Python经验,它有很多辅助函数,所以我猜可能有一个内置函数。

5 个答案:

答案 0 :(得分:543)

尝试查看http://docs.python.org/library/os.path.html#os.path.getsize

  

os.path.getsize(path)返回大小,   以字节为单位的路径。提出os.error if   该文件不存在或是   不可访问。

import os
os.path.getsize('C:\\Python27\\Lib\\genericpath.py')

OR

os.stat('C:\\Python27\\Lib\\genericpath.py').st_size 

答案 1 :(得分:164)

os.path.getsize(path)

返回路径的大小(以字节为单位)。如果文件不存在或无法访问,则引发os.error。

答案 2 :(得分:69)

您可以使用os.stat()函数,它是系统调用stat()的包装器:

import os

def getSize(filename):
    st = os.stat(filename)
    return st.st_size

答案 3 :(得分:19)

尝试

os.path.getsize(filename)

它应该返回一个文件的大小,由os.stat()报告。

答案 4 :(得分:10)

您可以使用os.stat(path)来电

http://docs.python.org/library/os.html#os.stat