Автоматически открывать файл в правильной кодировке [дублировать]
На этот вопрос уже есть ответ:
Как определить кодировку текста? 8 ответовЯ имею дело с некоторыми проблемами в нескольких файлах о кодировке. Мы получаем файлы от другой компании и должны их прочитать (файлы в формате csv)
Как ни странно, файлы выглядят закодированными в UTF-16. Мне удается это сделать, но я должен открыть их с помощьюcodecs
модуль и указав кодировку, таким образом.
ENCODING = 'utf-16'
with codecs.open(test_file, encoding=ENCODING) as csv_file:
# Autodetect dialect
dialect = csv.Sniffer().sniff(descriptor.read(1024))
descriptor.seek(0)
input_file = csv.reader(descriptor, dialect=dialect)
for line in input_file:
do_funny_things()
Но, так же, как я могу получить диалект более независимым способом, я думаю, что было бы здорово иметь способ автоматического открытия файлов с правильной кодировкой, по крайней мере, всех текстовых файлов. Есть другие программы, такие как vim, которые достигают этого.
Кто-нибудь знает способ сделать это в Python 2.6?
PD: Я надеюсь, что это будет решено в Python 3, так как все строки в Unicode ...