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

Hi,

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

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

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.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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

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

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 :)
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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

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
Antworten