Seite 1 von 1
replace "null" character in string
Verfasst: Dienstag 4. Oktober 2005, 15:59
von mbierenfeld
In Strings habe ich den Wert 0x00. Wie kann ich diesen durch das <cr> Zeichen ersetzen
ich habe es mit
Das funktioniert aber nicht so richtig. Die "nulls" kommen mehrfach vor
grüße
michael
Edit (Leonidas): Code in Python-Tags gesetzt.
Verfasst: Dienstag 4. Oktober 2005, 16:11
von Leonidas
Das ist auch zu schaffen:
Verfasst: Dienstag 4. Oktober 2005, 16:37
von mbierenfeld
hei de noi. heute stehe ich aber wirklich auf der Leitung
Code: Alles auswählen
def convert (input, output):
blocksize = 10000
inputfile = file(input, "rb")
outputfile = open (output, "w")
count = 0
totalread = 0
err = None
while True:
content = inputfile.read(blocksize)
if content == '':
break
bytesread = len (content)
totalread += bytesread
count += 1
if count % 100 == 0:
print "Hallo habe [%d] gelesen" % (totalread)
newcontent = unicode (content, 'cp273').encode('utf_8')
# Das geht irgenwie immer noch nicht obwohl ich Deiner Argumentation folgen kann *gg*
newcontent.replace ('\x00', '\n', 1)
# /me braucht Urlaub. Habs Woende durchgeackert
outputfile.write (newcontent)
inputfile.close()
outputfile.close()
return err
Noch ein letzes Mal, oder wie war das mit dem " .. du schaffst das schon"
Michael
Verfasst: Dienstag 4. Oktober 2005, 16:59
von Leonidas
Warum nimmst du immer bei Replace zwangsweise eine 1 als Count? Das bedeutet, dass nur das erste Vorkommnis ersetzt wird und das willst du ja nicht, oder?
Also wird aus:
mbieren hat geschrieben:Code: Alles auswählen
# Das geht irgenwie immer noch nicht obwohl ich Deiner Argumentation folgen kann *gg*
newcontent.replace ('\x00', '\n', 1)
einfach ein
Du musst newcontent nochmal setzen, da replace den String nicht ändert, sondern nur eine Kopie zurückliefert, in der die Zeichen ersetzt wurden.
Beispiel:
Code: Alles auswählen
In [14]: c = chr(0) * 10
In [15]: c
Out[15]: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
In [16]: c.replace('\x00', '\n')
Out[16]: '\n\n\n\n\n\n\n\n\n\n'
danke
Verfasst: Mittwoch 5. Oktober 2005, 11:25
von mbierenfeld
das wars. muss mich erstmalwieder an python gewöhnen. Als alter C++ Mensch ist das immer wieder ungewohnt mit den String Objekten
Danke, wenn Du mal in München bist ... gibts Freibier
michael
Re: danke
Verfasst: Mittwoch 5. Oktober 2005, 20:37
von Leonidas
mbieren hat geschrieben:Danke, wenn Du mal in München bist ... gibts Freibier
Ich wohne in München.. naja fast.. etwas weiter im Norden. Danke fürs Angebot aber das passt auch so schon
schmarrn
Verfasst: Donnerstag 6. Oktober 2005, 08:50
von mbierenfeld
erfahrungsaustausch ist immer gut. ich habe ganz schoene grabenkämpfe ausgestanden bis python zum einsatz kam.
marketing nach innen und aussen ist wichtig.
Re: schmarrn
Verfasst: Donnerstag 6. Oktober 2005, 15:58
von Leonidas
mbieren hat geschrieben:erfahrungsaustausch ist immer gut. ich habe ganz schoene grabenkämpfe ausgestanden bis python zum einsatz kam.
Aber du hast es geschafft. Gratuliere!
mbieren hat geschrieben:marketing nach innen und aussen ist wichtig.
Ja! Ich fänds ja auch lustig auf der Systems (auf die ich eigentlich plane zu gehen, na mal schauen wies mit den Karten wird) einen Python-Stand zu machen, vielleicht als Unterbereich eines anderen Standes