Dateigröße auslesen und vergleichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Mario

Dateigröße auslesen und vergleichen

Beitragvon Mario » Donnerstag 22. Juli 2004, 10:06

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
Benutzeravatar
Psus82
User
Beiträge: 128
Registriert: Dienstag 6. April 2004, 16:15

os.stat()

Beitragvon Psus82 » Donnerstag 22. Juli 2004, 10:19

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
Drei Dinge die Programmierer hassen:
1.)Sonnenlicht
2.)Frische Luft
3.)Das ätzende Geräusch zwitschernder Vögel
Mario

Super -vielen dank

Beitragvon Mario » Donnerstag 22. Juli 2004, 10:26

Super -vielen dank
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Re: Dateigröße auslesen und vergleichen

Beitragvon Milan » Sonntag 25. Juli 2004, 12:00

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...
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: Dateigröße auslesen und vergleichen

Beitragvon jens » Freitag 28. Januar 2005, 09:38

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
Benutzeravatar
powerslide
User
Beiträge: 51
Registriert: Freitag 10. Dezember 2004, 09:05
Wohnort: Erlangen
Kontaktdaten:

Beitragvon powerslide » Freitag 28. Januar 2005, 10:37

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
How many people can read hex if only you and dead people can read hex?

There are 10 types of people in the world: Those who understand binary, and those who don't...
Iopodx@Gast

Beitragvon Iopodx@Gast » Montag 7. Februar 2005, 13:47

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.
BlackJack

Beitragvon BlackJack » Montag 7. Februar 2005, 23:49

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'.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 8. Februar 2005, 00:41

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 :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 8. Februar 2005, 06:51

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)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 8. Februar 2005, 11:12

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]