Pythonでファイルのサイズを取得する方法
Pythonでファイルのサイズを取得する手順について、ステップバイステップで説明します。
まず、ローカルファイルのサイズを取得するか、リモートサーバー上のファイルのサイズを取得するかを決める必要があります。各ケースごとに手順が若干異なります。
ローカルファイルのサイズを取得するには、Pythonの
osモジュールを使用できます。スクリプトの先頭でそれをインポートすることから始めましょう。
import os
次に、サイズを取得したいファイルのパスを指定する必要があります。絶対パス(例:
"C:/path/to/file.txt")または相対パス(例:スクリプトと同じディレクトリにある場合は"./file.txt")のいずれかを指定できます。ファイルパスがある場合、
os.path.getsize()関数を使用してファイルのサイズをバイト単位で取得できます。この関数にファイルパスを引数として渡します。
file_path = "path/to/your/file.txt"
file_size = os.path.getsize(file_path)
このコードを実行すると、変数file_sizeにファイルのサイズがバイト単位で格納されます。
- もしファイルサイズをより読みやすい形式(キロバイト、メガバイトなど)で表示したい場合は、サイズを変換するためのヘルパー関数を定義することができます。以下に例を示します。
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}")
このヘルパー関数はバイト単位のファイルサイズを入力として受け取り、最も適切な単位(キロバイト、メガバイトなど)に変換します。フォーマットされたファイルサイズは、必要に応じて表示や使用に利用できます。
- リモートサーバー上のファイルのサイズを取得する場合は、Pythonの
requestsライブラリを使用できます。pipを使用してそれをインストールすることから始めましょう。
pip install requests
requestsをインストールした後、スクリプトの先頭でそれをインポートします。
import requests
- リモートファイルのサイズを取得するには、サーバーに
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にリモートファイルのサイズがバイト単位で格納されます。
- ローカルファイルの例と同様に、
convert_size()関数を使用してファイルサイズをより読みやすい形式にフォーマットすることができます。
以上です!Pythonでファイルのサイズを取得する方法について、詳細なステップバイステップのチュートリアルが完成しました。