Автоматически открывать файл в правильной кодировке [дублировать]

На этот вопрос уже есть ответ:

Как определить кодировку текста? 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 ...

Ответы на вопрос(4)

Ваш ответ на вопрос