Tutorials  /  Python

Dateigröße in Python: Anleitung mit Beispielen

Ccentron Redaktion · Dezember 2024 ·5 Min. Lesezeit ·Python, Tutorial

Das os-Modul in Python bietet eine effiziente Möglichkeit, die Dateigröße zu ermitteln. Mit der stat()-Funktion können wir verschiedene dateibezogene Informationen abrufen. Eine der wichtigsten Eigenschaften dieser Funktion ist st_size, die die Dateigröße in Bytes angibt. Dieses Tutorial demonstriert ein einfaches Programm zur Berechnung der Dateigröße in Bytes und Megabytes. Darüber hinaus werden die Einschränkungen des dir_fd-Arguments in der stat()-Funktion bei der Verwendung unter Mac OS erläutert.

Dateigröße in Python: Grundlegende Implementierung

Das Python-os-Modul stellt die stat()-Funktion bereit, bei der der Dateiname als Argument übergeben wird. Die Funktion gibt eine Tupelstruktur zurück, die die Dateiinformationen enthält. Nachfolgend ein Beispielprogramm, das die Dateigröße in Bytes und Megabytes berechnet und ausgibt.

Konsole
# Dateigröße in Python ermitteln
import os

file_name = "/Users/pankaj/abcdef.txt"

file_stats = os.stat(file_name)

print(file_stats)
print(f'Dateigröße in Bytes ist {file_stats.st_size}')
print(f'Dateigröße in Megabytes ist {file_stats.st_size / (1024 * 1024)}')
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Ausgabe

Nachfolgend die Ausgabe des obigen Programms:

File size in python e1734709108533

Wenn Sie die stat()-Funktion betrachten, können Sie zwei zusätzliche Argumente übergeben: dir_fd und follow_symlinks. Diese Argumente sind jedoch unter Mac OS nicht implementiert. Das nächste Beispiel zeigt diese Einschränkung.

Dateigröße in Python: Beispiel mit relativem Pfad

Hier ist ein aktualisiertes Programm, das einen relativer Pfad verwendet. Beachten Sie, dass dies unter Mac OS einen NotImplementedError auslöst.

Konsole
# Dateigröße in Python ermitteln
import os

file_name = "abcdef.txt"
relative_path = os.open("/Users/pankaj", os.O_RDONLY)

file_stats = os.stat(file_name, dir_fd=relative_path)

Ausgabe

Nachfolgend die Ausgabe des obigen Programms:

Code
Traceback (most recent call last): 
File "/Users/pankaj/.../get_file_size.py", line 7, in
file_stats = os.stat(file_name, dir_fd=relative_path)
NotImplementedError: dir_fd nicht auf dieser Plattform verfügbar
Python file size relative path NotImplementedError e1734709291293

Fazit

Die Berechnung der Dateigröße in Python ist mithilfe der os-Modul-stat()-Funktion unkompliziert. Mit der Eigenschaft st_size können wir die Größe einer Datei in Bytes bestimmen und durch einfache Arithmetik in Megabytes umrechnen. Entwickler müssen jedoch plattformspezifische Einschränkungen beachten, wie im Fall des dir_fd-Arguments, das unter Mac OS nicht verfügbar ist. Durch das Verständnis dieser Nuancen können Entwickler robustere und portablere Python-Skripte schreiben. Dieses Tutorial hebt das Potenzial von Python für effizientes Dateihandling hervor, warnt jedoch vor systembedingten Einschränkungen.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren