web-dev-qa-db-ja.com

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を使った経験からすると、Pythonにはたくさんのヘルパー関数があります。

386
6966488-1

http://docs.python.org/library/os.path.html#os.path.getsizeを見てみてください

os.path.getsize(path)pathのサイズをバイト数で返します。ファイルが存在しないかアクセスできない場合はos.errorを送出します。

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

OR

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

Pathのサイズをバイト数で返します。ファイルが存在しないかアクセスできない場合はos.errorを送出します。

160
K Mehta

システムコールos.stat()のラッパーであるstat()関数を使うことができます。

import os

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

やってみる

os.path.getsize(filename)

Os.stat()によって報告されたファイルのサイズを返すべきです。

19
rajasaur

os.stat(path)呼び出しが使えます

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

10
IvanGL