os.statは正しい出力を与えません。すべてのファイルに対して8192バイトしか得られません。ここでOS.STAT()。ST_SIZEは私にPythonのサイズが正しくない
import os
path = "C:\\"
filelist = os.listdir(path)
for i in filelist:
if os.path.isdir(os.path.join(path, i)):
print os.path.join(path, i), "is DIR"
else:
# fs = filesize
fs = os.stat(path).st_size
# fs = os.path.getsize(path)
print os.path.join(path, i), "size is", fs
以下のコードが出力されます。
C:\$Recycle.Bin is DIR
C:\Config.Msi is DIR
C:\Documents and Settings is DIR
C:\hiberfil.sys size is 8192
C:\pagefile.sys size is 8192
C:\PerfLogs is DIR
C:\Program Files is DIR
C:\Program Files (x86) is DIR
C:\ProgramData is DIR
C:\Python27 is DIR
C:\Recovery is DIR
C:\shared.log size is 8192
C:\System Volume Information is DIR
C:\Users is DIR
C:\vcredist_x86.log size is 8192
C:\Windows is DIR
最大数は8192であるのはなぜ? dir以外のすべてのファイルはそれよりもはるかに大きなサイズを持っています。 os.stat(path).st_sizeとos.path.getsize(path)の出力は同じです。前もって感謝します。
'はos.stat(パス)' = 'はos.stat(os.path.join(パス、I))' –