如何在Python中获取文件大小?
有没有一个内置的函数可以获取文件对象的大小,单位是字节?我看到有些人是这样做的:
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 个回答
98
你可以使用 os.stat()
这个函数,它是一个对系统调用 stat()
的封装:
import os
def getSize(filename):
st = os.stat(filename)
return st.st_size
253
os.path.getsize(path)
返回路径所指文件的大小,单位是字节。如果文件不存在或者无法访问,就会抛出一个错误。
979
可以使用 os.path.getsize(path)
这个方法,它会
返回指定路径 path 的文件大小,单位是字节。如果文件不存在或者无法访问,它会抛出一个
OSError
错误。
import os
os.path.getsize('C:\\Python27\\Lib\\genericpath.py')
或者可以使用 os.stat(path).st_size
import os
os.stat('C:\\Python27\\Lib\\genericpath.py').st_size
或者使用 Path(path).stat().st_size
(适用于 Python 3.4 及以上版本)
from pathlib import Path
Path('C:\\Python27\\Lib\\genericpath.py').stat().st_size