Ich versuche gerade eine Möglichkeit zu finden, in die temporäre Datei weitere Daten anzufügen.
Irgendwie funktioniert das aber nicht so, wie gewünscht.
Ich habe dazu ein kleines Beispiel erstellt:
Code: Alles auswählen
num1 = 'Hallo,'
num2 = 'ich heiße Wolfgang!'
# Schreiben in eine temporäre Datei (tmp)
tempname = []
def write_tmp(datenpool):
with tempfile.NamedTemporaryFile(delete=False) as tmp:
tmp.write(datenpool)
tmp.seek(0)
string = tmp.read()
return tmp.name
tempname.append(write_tmp(num1 + ' ' + num2))
print(tempname[0])
daten = []
# Anfügen in eine temporäre Datei (tmp) <<>> fehlerhaft
def writeappend_tmp(filename, datenpool):
with codecs.open(filename, "a") as tmp:
writer = csv.writer(tmp, delimiter="\t", quotechar="^")
writer.writerows(datenpool)
t = (num1 + ' ' + num2)
writeappend_tmp(tempname[0], t)
with codecs.open(tempname[0], "r") as infile:
reader = csv.reader(infile, delimiter="\t", quotechar="^")
for item in reader:
print(item)
Als Ausgabe erhalte ich dann:
/tmp/tmp6s30Tt
['Hallo, ich hei\xc3\x9fe Wolfgang!H']
['a']
['l']
['l']
['o']
[', ']
[' ']
['i']
['c']
['h']
[' ']
['h']
['e']
['i']
['\sxc3']
['\x9f']
['e']
[' ']
['W']
['o']
['l']
['f']
['g']
['a']
['n']
['g']
['!']
Hat da jemand von Euch vielleicht eine Idee, warum beim anfügen von Daten in die temporäre Datei, so eine Ausgabe kommt?
Normal sollte so etwas kommen:
/tmp/tmp6s30Tt
['Hallo, ich hei\xc3\x9fe Wolfgang!']
['Hallo, ich hei\xc3\x9fe Wolfgang!']