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

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

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

Beitragvon Leonidas » 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

Beitragvon 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
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » 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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » 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

Beitragvon Gast » Samstag 14. Januar 2006, 10:18

http://mail.python.org/pipermail/python-bugs-list/2002-September/013548.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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » 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

Beitragvon 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

Beitragvon 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

Beitragvon 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:

Beitragvon modelnine » 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.

Wer ist online?

Mitglieder in diesem Forum: pillmuncher