datei vom dateiende an auslesen

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.
Benutzeravatar
NOTZE
User
Beiträge: 106
Registriert: Mittwoch 21. Januar 2004, 20:28

datei vom dateiende an auslesen

Beitragvon NOTZE » Freitag 11. Juni 2004, 21:09

Hi,

Ich möchte eine datei vom ende an auslesen und davon nur die letzten x bytes.
Wie kann ich das anstellen?
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 11. Juni 2004, 21:18

Hi Notze,

Datei öffnen, Länge bestimmen und mit f.seek(-anzahl_bytes,2) an Position Dateilänge-Byteanzahl gehen und lesen.
siehe auch pydoc file


Gruß

Dookie
Benutzeravatar
NOTZE
User
Beiträge: 106
Registriert: Mittwoch 21. Januar 2004, 20:28

Beitragvon NOTZE » Samstag 12. Juni 2004, 10:06

Ich wollte jetzt mal einen einfachen id3Tag editor realisieren zudem ich dann auch ne GUI machen will.
Das Auslesen der Tags ist soweit recht einfach, nur beim genre habe ich Probleme.
Laut diesem Link hier soll man ein byte auslesen.
Also mach ich es so (der dateizeiger steht direkt an der position nach dem auslesen von genre):
:

Code: Alles auswählen

      genre = f.read(1)


aber wenn ich mir das ausgeben lasse kommt irgendein Sonderzeichen,
Aber eigentlich sollte eine Zahlenwert kommen.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 12. Juni 2004, 11:23

Hi Notze,

Code: Alles auswählen

genre = ord(f.read(1))

und daran denken die Datei im Binären Modus zu öffnen, unter Windows kanns sonst Probleme geben.


Gruß

Dookie
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Samstag 12. Juni 2004, 11:25

Hi. Ja, du musst das Genre dann mir ord bestimmen. Eine fertige ID3 Klasse gibts aber auch schon hier bei SF, da kannst du ja zur Not abspicken :wink:
Benutzeravatar
NOTZE
User
Beiträge: 106
Registriert: Mittwoch 21. Januar 2004, 20:28

Beitragvon NOTZE » Samstag 12. Juni 2004, 12:35

Dookie hat geschrieben:Hi Notze,

Code: Alles auswählen

genre = ord(f.read(1))

und daran denken die Datei im Binären Modus zu öffnen, unter Windows kanns sonst Probleme geben.


Gruß

Dookie


Dazu habe ich jetzt 2 fragen:
1: Was macht die Funktion ord?
2: Wie kann ich eine Datei binär öffnen? Weil unter Linux scheint es ja keine Probleme zu machen die Datei zu öffnen.

@milan: Naja ich will es soweit wie möglich ohne Spicken versuchen :)
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 12. Juni 2004, 13:26

Auszug aus pydoc file - Add a 'b' to the mode for binary files. - also

Code: Alles auswählen

f = file("test.bin", "rb") #Datei zum lesen im Binärmodus öffnen

ord liefert die Ordinalzahl eines Einzeichenstrings(Byte) als Integer.


Gruß

Dookie
Benutzeravatar
NOTZE
User
Beiträge: 106
Registriert: Mittwoch 21. Januar 2004, 20:28

Beitragvon NOTZE » Samstag 12. Juni 2004, 14:05

Dookie hat geschrieben:Auszug aus pydoc file - Add a 'b' to the mode for binary files. - also

Code: Alles auswählen

f = file("test.bin", "rb") #Datei zum lesen im Binärmodus öffnen

ord liefert die Ordinalzahl eines Einzeichenstrings(Byte) als Integer.


Gruß

Dookie


ah okay danke , dann werd ich ma weiter an der Klasse rumschrauben

Wer ist online?

Mitglieder in diesem Forum: Sirius3