我必须将包含数据集的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、iso8859-15、iso8859-1,谁知道还有什么。所以不管我明确告诉Python使用哪种编码,我的程序迟早会遇到UnicodeDecodeError。有没有办法避免这个问题?你知道吗
chardet库对于猜测文件编码很有用。你知道吗
相关问题 更多 >
编程相关推荐