699 Stimmen

Dateigröße in Python ermitteln?

Gibt es eine eingebaute Funktion, um die Größe eines Dateiobjekts in Bytes zu ermitteln? Ich sehe, dass einige Leute so etwas machen:

def getSize(fileobject):
    fileobject.seek(0,2) # move the cursor to the end of the file
    size = fileobject.tell()
    return size

file = open('myfile.bin', 'rb')
print getSize(file)

Aber aus meiner Erfahrung mit Python, es hat eine Menge von Hilfsfunktionen, so dass ich vermute, vielleicht gibt es eine integrierte.

992voto

Artsiom Rudzenka Punkte 26969

Utilisez os.path.getsize(path) die

Gibt die Größe in Bytes von Pfad . Erhöhen Sie OSError wenn die Datei nicht existiert oder unzugänglich ist.

import os
os.path.getsize('C:\\Python27\\Lib\\genericpath.py')

Oder verwenden Sie os.stat(path).st_size

import os
os.stat('C:\\Python27\\Lib\\genericpath.py').st_size 

Oder verwenden Sie Path(path).stat().st_size (Python 3.4+)

from pathlib import Path
Path('C:\\Python27\\Lib\\genericpath.py').stat().st_size

257voto

K Mehta Punkte 10133
os.path.getsize(path)

Gibt die Größe des Pfades in Bytes zurück. Löst os.error aus, wenn die Datei nicht existiert oder unzugänglich ist.

99voto

ZelluX Punkte 62786

Sie können verwenden os.stat() Funktion, die ein Wrapper des Systemaufrufs stat() :

import os

def getSize(filename):
    st = os.stat(filename)
    return st.st_size

29voto

rajasaur Punkte 5208

Versuchen Sie

os.path.getsize(filename)

Sie sollte die Größe einer Datei zurückgeben, die von os.stat() gemeldet wird.

17voto

IvanGL Punkte 751

Sie können verwenden os.stat(path) aufrufen

http://docs.python.org/library/os.html#os.stat

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X