pythonでのファイルサイズの取得

os.path.getsize(path)を使えばいいらしい。

ファイルサイズ出力のスクリプト作った。

""" print_size.py """
import os
import sys

if __name__ == '__main__':
    try:
        size = os.path.getsize(sys.argv[1])
        f = ""
        if 10**3 <= size < 10**6:
            f = f"{size//10**3: 4} kB"
        elif 10**6 <= size < 10**9:
            f = f"{size//10**6: 4} MB"
        elif 10**9 <= size < 10**12:
            f = f"{size//10**9: 4} GB"
        elif 10**12 <= size < 10**15:
            f = f"{size//10**12: 4} TB"
        else:
            f = f"{size: 4} B"
        print(f)
    except OSError:
        print("The file doesn't exit.", file=sys.stderr)
    except:
        print("USAGE: print_size.py path", file=sys.stderr)
% for i in `ls`;                                                                      
for> python ../print_size.py ${i}
 640 B
  47 B
  79 B
  11 kB
  21 kB
   1 MB
   1 MB
   1 MB
  31 kB
   3 MB
  22 kB
   1 MB
   3 MB
   6 MB
 597 kB

すぐ作った割に使えるので、載せずにはいられなかったw