メインコンテンツまでスキップ

Pythonでファイルのサイズを取得する方法

Pythonでファイルのサイズを取得する手順について、ステップバイステップで説明します。

  1. まず、ローカルファイルのサイズを取得するか、リモートサーバー上のファイルのサイズを取得するかを決める必要があります。各ケースごとに手順が若干異なります。

  2. ローカルファイルのサイズを取得するには、Pythonのosモジュールを使用できます。スクリプトの先頭でそれをインポートすることから始めましょう。

   import os
  1. 次に、サイズを取得したいファイルのパスを指定する必要があります。絶対パス(例:"C:/path/to/file.txt")または相対パス(例:スクリプトと同じディレクトリにある場合は"./file.txt")のいずれかを指定できます。

  2. ファイルパスがある場合、os.path.getsize()関数を使用してファイルのサイズをバイト単位で取得できます。この関数にファイルパスを引数として渡します。

   file_path = "path/to/your/file.txt"
file_size = os.path.getsize(file_path)

このコードを実行すると、変数file_sizeにファイルのサイズがバイト単位で格納されます。

  1. もしファイルサイズをより読みやすい形式(キロバイト、メガバイトなど)で表示したい場合は、サイズを変換するためのヘルパー関数を定義することができます。以下に例を示します。
   def convert_size(size_bytes):
# ファイルサイズの可能な単位のリスト
units = ["B", "KB", "MB", "GB", "TB"]

# 適切な単位を見つける
unit_index = 0
while size_bytes >= 1024 and unit_index < len(units) - 1:
size_bytes /= 1024
unit_index += 1

# 2桁の小数点と対応する単位でサイズをフォーマットする
return f"{size_bytes:.2f} {units[unit_index]}"

# 使用例
file_size_formatted = convert_size(file_size)
print(f"ファイルサイズは:{file_size_formatted}")

このヘルパー関数はバイト単位のファイルサイズを入力として受け取り、最も適切な単位(キロバイト、メガバイトなど)に変換します。フォーマットされたファイルサイズは、必要に応じて表示や使用に利用できます。

  1. リモートサーバー上のファイルのサイズを取得する場合は、Pythonのrequestsライブラリを使用できます。pipを使用してそれをインストールすることから始めましょう。
   pip install requests
  1. requestsをインストールした後、スクリプトの先頭でそれをインポートします。
   import requests
  1. リモートファイルのサイズを取得するには、サーバーにHEADリクエストを送信し、レスポンスから"Content-Length"ヘッダーを取得する必要があります。以下に例を示します。
   file_url = "https://example.com/path/to/remote/file.txt"
response = requests.head(file_url)
file_size = int(response.headers["Content-Length"])

このコードを実行すると、変数file_sizeにリモートファイルのサイズがバイト単位で格納されます。

  1. ローカルファイルの例と同様に、convert_size()関数を使用してファイルサイズをより読みやすい形式にフォーマットすることができます。

以上です!Pythonでファイルのサイズを取得する方法について、詳細なステップバイステップのチュートリアルが完成しました。