【发布时间】:2018-04-15 19:57:25
【问题描述】:
我正在尝试使用 pyratemp 模块在文件中进行模板替换。它适用于一般的 ascii 和 UTF-8 格式文件。但是,我的文件格式是: "UTF-8 Unicode C 程序文本,带有 CRLF 行终止符"
我在 sql 中有一些变量要替换。所以,我正在使用 pyratemp 模块进行如下处理。
import pyratemp
data_hash = {}
data_hash['tab_name'] = 'svm_table'
sourceFile = "sample.sql"
temp_sql = pyratemp.Template(filename=sourceFile, data=data_hash, encoding='utf-8')
运行脚本:
python template_proc.py
Traceback(最近一次调用最后一次): 文件“template_proc.py”,第 11 行,在 打印 temp_sql UnicodeEncodeError: 'ascii' codec can't encode character u'\u503c' in position 196: ordinal not in range(128)
谁能给我建议的解决方案。
【问题讨论】:
-
您在哪个环境中运行脚本 - cmd、文本编辑器、...?
-
通过命令行运行。在 Suse-release 11 linux 代理上。
标签: python-2.7 unicode encoding utf-8