Ich habe eine Eingabedatei mit einem String, der doppelte Anführungszeichen enthält, und möchte eine C-Style-Header-Datei mit Python erzeugen.Python: 'Backslash-Anführungszeichen' in Datei schreiben
Sprich
input file: Hello "Bob"
output file: Hello \"Bob\"
ich nicht den Code schreiben kann eine solche Datei zu erhalten, hier ist was ich bisher versucht habe:
key = 'key'
val = 'Hello "Bob"'
buf_list = list()
...
val = val.replace('"', b'\x5c\x22')
# also tried: val = val.replace('"', r'\"')
# also tried: val = val.replace('"', '\\"')
buf_list.append((key + '="' + val + '";\n').encode('utf-8'))
...
for keyval in buf_list:
lang_file.write(keyval)
lang_file.close()
Die Ausgabedatei enthält immer:
Hello \\\"Bob\\\"
ich hatte keine Probleme \n
, \t
Strings in die Ausgabedatei zu schreiben.
Es scheint, ich kann nur null oder zwei Backslashes schreiben, kann jemand bitte helfen?
Bereits ausprobiert, siehe meinen Code. Dies funktioniert mit der 'print' Funktion, aber nicht beim Schreiben in eine Datei. – maestun
@maestun - Funktioniert gut auf meiner Seite. –
versuchen Sie dies: 'key = 'key'; val = 'Hallo "Bob"'; buf_list = Liste(); val = val.replace (' "', r '\"'); h = offen ('temp.txt', 'w'); h.write (val); h.close(); ' –