替换& qout;用“用python写入文本文件时”

时间:2014-02-27 20:30:08

标签: python string

我正在从文本文件中读取列名列表,然后使用它们使用pystache呈现sql模板,然后将呈现的模板写入sql文件。问题有时候列名将有一个冒号,因此需要在查询中用双引号括起来。

列名文本文件示例:

column1
"column2:extra"
column3

我遇到了双引号被& quot 取代的问题;在输出文件中。我尝试过使用

#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)

替换方法没有用,我宁愿不必进行后期处理来搜索和替换& qout;创建文件后。谢谢你的任何建议。

1 个答案:

答案 0 :(得分:0)

replace不会就地修改字符串,它会返回一个包含所需更改的新字符串实例。您应该将返回的值分配给某个东西。

data = data.replace('&qout;', '"')