ファイルオブジェクトのサイズをバイト単位で取得するための組み込み関数はありますか?私は何人かの人々がこのようなことをするのを見ます:
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にはたくさんのヘルパー関数があります。
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
os.path.getsize(path)
Pathのサイズをバイト数で返します。ファイルが存在しないかアクセスできない場合はos.errorを送出します。
システムコールos.stat()
のラッパーであるstat()
関数を使うことができます。
import os
def getSize(filename):
st = os.stat(filename)
return st.st_size
やってみる
os.path.getsize(filename)
Os.stat()によって報告されたファイルのサイズを返すべきです。
os.stat(path)
呼び出しが使えます