【发布时间】:2017-04-07 07:30:38
【问题描述】:
我有一个输入文件,其中包含一些包含双引号的字符串,我想用 Python 生成一个 C 风格的头文件。
说,
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 字符串写入输出文件没有问题。
看来我只能写零或两个反斜杠,有人可以帮忙吗?
【问题讨论】: