wie kann man inhalt einer datei auslesen in der \x1a vorkomm

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
knox

Freitag 13. Januar 2006, 23:52

hi!
ich will den inhalt einer datei auslesen. nur kommt in dieser datei \x1a vor. und da hört der doch einfach auf zu lesen und cancelt mir das ganze. hab mal kurz gegoogled und gefunden dass das n bekannt python bug ist. das kann doch net sein oder?
irgendjemand ne idee wie man das umgeht?
danke!
knox
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 14. Januar 2006, 01:10

Works for me:

Code: Alles auswählen

In [24]: f = file('stange_binary', 'r')
In [25]: f.read()
Out[25]: 'abc\x1adef'
Was hast du denn für eine Python-Version? Ich glaube nicht wirklich, dass es ein Python-Bug ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Gast

Samstag 14. Januar 2006, 09:44

python 2.4.1
es ist ein bug. ich habs bei google gelesen. bin net der einzige mit dem problem ;-)
welche version hast du denn? dann zieh ich mir die
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Samstag 14. Januar 2006, 09:50

Code: Alles auswählen

Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
und funktioniert.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 14. Januar 2006, 09:51

Anonymous hat geschrieben:python 2.4.1
es ist ein bug. ich habs bei google gelesen. bin net der einzige mit dem problem ;-)
Über STDIN könnte es evt. unter Windows zu einem Abbruch kommen, wenn STRG+D übertragen wird. Aber beim Öffnen einer normalen Datei??? --- Das glaube ich nicht. Mehr Informationen bitte.
Betriebssystem, Beispielcode, Fehlermeldung, Urls zu den Internetseiten die so etwas behaupten, ...

Falls es wirklich zu Problemen kommen solte, dann interessiert es uns hier natürlich. Falls das nur ein Troll-Posting ist. Dann lass es bitte.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Gast

Samstag 14. Januar 2006, 10:18

http://mail.python.org/pipermail/python ... 13548.html
http://www.codecomments.com/message200597.html

also \x1a is EOF char. darum gabs hier trouble. im zweiten posting steht n tipp von wegen -rb als parameter beim öffnen nehmen. damit gehts ;-)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 14. Januar 2006, 10:58

Anonymous hat geschrieben:also \x1a is EOF char. darum gabs hier trouble. im zweiten posting steht n tipp von wegen -rb als parameter beim öffnen nehmen. damit gehts ;-)
Ahh! Das "STRG-D"-Problem. Nur dachte ich bis jetzt immer, dass STRG-D nur über die STDIN zu einem Abbruch führt. Bin wohl zu selten im Windows. 8)

OK, das einzige Problem das ich hier sehe ist, dass sich "file" bzw. "open" unter Windows anders verhält als unter Linux. Mit "rb" hat sich dein Problem ja erledigt. Das freut mich.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Samstag 14. Januar 2006, 23:03

Ich möchte nochmal sagen das es sich hier nicht um einen Bug in Python handelt, sondern um ein nerviges aber legitimes Verhalten des Betriebssystems.
knox

Samstag 21. Januar 2006, 00:15

hi!
ok da wär schon alles geklärt. aber n kleines problem hab ich noch.
ich lese jetz die datei mit der option "rb" ein. somit ist \x1a kein problem mehr!
ABER: jedes mal wenn er mir die datei einliest und dann in ne neue datei schreibt, dann finde ich auf einmal \x0d\x0a statt \x0a!!
keine ahnung warum er mir da n \x0d dazwischenkleistert o_O
habt ihr noch ne idee?
danke euch!
Gast

Samstag 21. Januar 2006, 00:36

ok problem selbst gelöst. beim schreiben hab ich das b vergessen ;)
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Samstag 21. Januar 2006, 00:49

Problem gelöst wäre erst wenn Du Dir ein Betriebssystem angeschafft hast... Okay, ich bin heute abend wieder zu sarkastisch.

--- Heiko.
Antworten