在Python中写入文本文件时替换&qout;为
我正在从一个文本文件中读取列名,然后用这些列名来生成一个SQL模板,接着把生成的模板写入一个SQL文件。问题是,有时候列名中会有冒号,这就需要在查询中用双引号把它们包起来。
列名文本文件的例子:
column1
"column2:extra"
column3
我遇到了一个问题,就是输出文件中的双引号被替换成了"。我试过使用
#read in column names
with open(attrs_file, 'r') as fields:
attrs = fields.read().splitlines()
...
with open(sql_in, 'r') as sql:
data = sql.read()
data = pystache.render(data, {'replace':new})
with open(sql_out, 'wb') as sql:
data = data.replace('&qout;', '"')
#data = data.replace('&qout;', "\"")
sql.write(data)
但是替换的方法没有奏效,我更不想在创建文件后再进行后处理去搜索和替换"。感谢任何建议。
1 个回答
0
replace
这个方法不会直接在原来的字符串上进行修改,而是会返回一个新的字符串,里面包含了你想要的更改。所以你需要把这个返回的新字符串赋值给一个变量。
data = data.replace('&qout;', '"')