Seite 1 von 1

Dateigröße auslesen und vergleichen

Verfasst: Donnerstag 22. Juli 2004, 10:06
von Mario
Hallo Leute,
hat jemand eine Idee, wie ich mit Python die Größe einer Datei (in Byte) ermitteln kann. Ich will einfach versuchen zu prüfen, ob deine bestehende datei überschrieben wurde??
Gruß
Mario

os.stat()

Verfasst: Donnerstag 22. Juli 2004, 10:19
von Psus82
Hi das kannst du mit dem Modul os und der Funktion stat() machen.
Schau dir die Funktion mal genauer an da kannst du die Größe in byte wiedergebebn lassen.


Gruß
Psus82

Super -vielen dank

Verfasst: Donnerstag 22. Juli 2004, 10:26
von Mario
Super -vielen dank

Re: Dateigröße auslesen und vergleichen

Verfasst: Sonntag 25. Juli 2004, 12:00
von Milan
Mario hat geschrieben:Hallo Leute,
hat jemand eine Idee, wie ich mit Python die Größe einer Datei (in Byte) ermitteln kann. Ich will einfach versuchen zu prüfen, ob deine bestehende datei überschrieben wurde??
Gruß
Mario
Hi. Dann würde ich aber nicht die Dateigröße vergleichen, sondern einfach das Datum der letzten Änderung, also os.stat("file").st_mtime . Schließlich kann auch die neue Datei exakt dieselbe Dateigröße haben...

Re: Dateigröße auslesen und vergleichen

Verfasst: Freitag 28. Januar 2005, 09:38
von jens
Mario hat geschrieben:die Größe einer Datei (in Byte) ermitteln

Code: Alles auswählen

FileName = "/test/Beispiel.exe"

FileSize = os.path.getsize( FileName )

print "Größe in Bytes:", FileSize

Verfasst: Freitag 28. Januar 2005, 10:37
von powerslide
wie wärs denn mit

Code: Alles auswählen

cmp(filename1, filename2)
dateien werden dann als gleich betrachtet wenn größe, typ und zeitstempel identisch ist

Verfasst: Montag 7. Februar 2005, 13:47
von Iopodx@Gast
oder umständlicher, hast aber ne Menge infos!

Code: Alles auswählen

import os
filename='C:\\windows\\system32\\ftp.exe'
pipe=os.popen("dir "+filename)
result=pipe.read()
pipe.close()
result=result.split('\n')
lastchange=result[5][0:17]
size=result[5][17:35]

print lastchange
print size
Edit (Leonidas): Code in Python Tags gesetzt.

Verfasst: Montag 7. Februar 2005, 23:49
von BlackJack
Komisch ich bekommen da eine Fehlermeldung, dass 'dir' nicht gefunden wurde.

Also bitte, das 'os' Modul ist extra dazu da plattformübergreifend auf Dateien und andere Systemdienste zuzugreifen und ich glaube nicht, das die Ausgabe von 'dir' mehr Informationen liefert als 'os.stat'.

Verfasst: Dienstag 8. Februar 2005, 00:41
von Leonidas
BlackJack hat geschrieben:Komisch ich bekommen da eine Fehlermeldung, dass 'dir' nicht gefunden wurde.
Kein Wunder, BlackJack, denn dir ist normalerweise ein Builtin von command.com oder cmd.exe. So wirst du wohl auf den wenigsten Systemen, auf denen dir geht eine dir.exe oder dir.com finden. Das ist genauso wie der Help builtin. Deswegen: besser ls.exe benutzen, wenn es denn schon sein muss :)

Verfasst: Dienstag 8. Februar 2005, 06:51
von jens
Leonidas hat geschrieben:Deswegen: besser ls.exe benutzen, wenn es denn schon sein muss :)
Das bringt dir auch nicht viel, wenn du es auf einem Windows Rechner laufen läßt :lol: und wie man sehen kann lieft das Beispiel unter Windows:

Code: Alles auswählen

filename='C:\\windows\\system32\\ftp.exe'
pipe=os.popen("dir "+filename)

Verfasst: Dienstag 8. Februar 2005, 11:12
von Leonidas
jens hat geschrieben:
Leonidas hat geschrieben:Deswegen: besser ls.exe benutzen, wenn es denn schon sein muss :)
Das bringt dir auch nicht viel, wenn du es auf einem Windows Rechner laufen läßt :lol: und wie man sehen kann lieft das Beispiel unter Windows
Ich habe ja auch von ls.exe gesprochen, nicht von ls. Native Windows Ports sind doch was schönes.