【发布时间】:2017-05-01 17:10:52
【问题描述】:
我必须将包含数据集的 ASCII 文件合并到一个整体文件中。我正在使用标准程序执行逐行合并:
for in_filename in os.listdir(w_dir):
if in_filename.endswith(".scd"):
write_message("\nAdding '" + in_filename + "' to '" + out_filename + "' ... ", "black")
with open(out_filename, 'a', encoding="utf-8") as f_out, fileinput.input(in_filename) as f_in:
for scd_count, line in enumerate(f_in):
f_out.write(line)
问题是,我要合并的 ASCII 文件的编码方式不同。当我使用能够自动识别编码的文本编辑器打开它们时,我会看到 utf-8、ISO 8859-15、ISO 8859-1 以及谁知道还有什么。因此,无论我明确告诉 Python 使用哪种编码,我的程序迟早都会遇到 UnicodeDecodeError。有没有办法避免这个问题?
【问题讨论】: