Ну, это может быть простой вопрос, честно говоря, я немного запутался с кодировками и всеми этими вещами.
Предположим, у меня есть файл 01234.txt
, который iso-8859-1.
Когда я делаю:
iconv --from-code=iso-8859-1 --to-code=utf-8 01234.txt > 01234_utf8.txt
Это дает мне желаемый результат, но когда я делаю то же самое с python и используя подпроцесс:
import subprocess
p0 = subprocess.Popen([<here the same command>], shell=True)
p0.wait()
Я получаю почти тот же результат, но новый файл отсутствует, например. часть строки перед последним и последним.
Вот последние три строки обоих файлов:
iconv результат:
795719000 | МАРИЯ ТЕРЕСА МАРРО ВИЛЛАБОБО | 107
259871385 | КРИСТИАМ АЛЬБЕРТО СУАРЕС ВИЛАЛОБОС | 107
311015100 | JORGE MEZA CERVANTES | 09499386
Python результат:
795719000 | MARIA TERESA MARROU VILLALOBOS | 107
259871385 | CHRISTIAM
РЕДАКТИРОВАТЬ: В файле Python, который я пытался использовать coding: utf-8
и coding: iso-8859-1
( не оба одновременно ).
EDIT: я использовал кодеки в bpython, он прекрасно работает. При использовании его из файла я получаю нежелательный результат.
РЕДАКТИРОВАТЬ: я использую Linux (Ubuntu 9.10) и Python 2.6.2.
Есть предложения?