Python django在文件中以编码格式编写ascii字符

时间:2013-04-28 13:08:31

标签: python django

我正在使用Django生成abc.tex文件 我正在浏览器中显示数据和我写的tex文件中的相同数据

with open("sample.tex") as f:
    t = Template(f.read())

head = ['name','class']
c = Context({"head":headers, "table": rowlist})

# Render template
output = t.render(c)

with open("mytable.tex", 'w') as out_f:
    out_f.write(output)

现在在更加柔和的情况下,我可以将文字看作speaker-hearer's,但在文件中它会显示为speaker-hearer's

我该如何解决?

1 个答案:

答案 0 :(得分:1)

据我所知,浏览器会自动解码这些数据,但文件中的文本将是原始的;所以你看到的数据“原样”。

在写入output文件之前,也许您可​​以使用HTMLParser库来解码Django(abc.tex)生成的数据。

对于您的示例字符串:

import HTMLParser
h = HTMLParser.HTMLParser()
s = "speaker-hearer's"
s = h.unescape(s)

那么当你将输出写入文件并且可能处理解析异常时,只需要解决输出问题。

Source(参见步骤3)