python读取文件大小_在python中获取文件大小?

本问题已经有最佳答案,请猛点这里访问。

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

1

2

3

4

5

6

7def 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的经验,它有很多助手函数,所以我猜可能有一个内置的。

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

os.path.getsize(path) Return the size,

in bytes, of path. Raise os.error if

the file does not exist or is

inaccessible.

1

2import os

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

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

谢谢大家。我不知道你是否能一次回复所有的帖子,所以我只回复最后一个答案。我好像不能让它工作。`文件"c:\pythonlibgenericpath.py",第49行,在getsize返回os.stat(文件名).st_size typeerror:stat()参数1必须是不带空字节的编码字符串,而不是str`

认为您需要"c:\python\lib\genericpath.py"-例如os.path.getsize('c:\python27\lib\genericpath.py')或os.stat('c:\python27\lib\genericpath.py').st_大小

@696,python将允许您使用空字节作为字符串,但是将这些字节传递到getsize中是没有意义的,因为文件名中不能包含空字节。

我用%timeit对给定目录中的所有文件都进行了运行,发现os.stat的速度略快(约6%)。

@16num,这是合乎逻辑的,因为os.path.getsize()只调用os.stat().st_size。

有没有任何方法可以找到以*.csv结尾的所有文件的大小

1os.path.getsize(path)

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

简单易行:)

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

1

2

3

4

5import os

def getSize(filename):

st = os.stat(filename)

return st.st_size

尝试

1os.path.getsize(filename)

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

您可以使用os.stat(path)呼叫

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

你可能感兴趣的:(python读取文件大小)