私は入力ファイルに二重引用符が含まれているので、PythonでCスタイルのヘッダファイルを生成したいと思っています。Python: 'backslash double quote'文字列をファイルに書き込む
セイ、
input file: Hello "Bob"
output file: Hello \"Bob\"
私は、このようなファイルを取得するコードを記述することはできませんが、ここで私がこれまで試したものです:
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()
出力ファイルが常に含まれています:
をHello \\\"Bob\\\"
\n
、\t
の文字列を出力ファイルに書き込む際に問題はありませんでした。
私はゼロまたは2つのバックスラッシュを書くことができるようだ、誰かが助けてくれる?
すでにこれを試しました。私のコードを見てください。 これは 'print'関数では機能しますが、ファイルに書き込むときには機能しません。 – maestun
@maestun - 私の側でうまく動作します。 –
これを試してください: 'key = 'key'; val = 'Hello' Bob ''; buf_list = list(); val = val.replace( '"'、r '\"'); h = open( 'temp.txt'、 'w'); h.write(val); h.close(); ' –