我必须将包含数据集的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以及谁知道还有什么。所以我的程序迟早会遇到UnicodeDecodeError,无论我明确告诉Python使用什么样的编码。有没有办法避免这个问题?