好吧,这可能是一个简单的问题,坦率地说,我对编码和所有这些事情有点困惑。
假设我有一个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|MARIA TERESA MARROU VILLALOBOS|107
259871385|CHRISTIAM ALBERTO SUAREZ VILLALOBOS|107
311015100|Jorge MEZA CERVANTES|09499386
蟒蛇结果:
795719000|MARIA TERESA MARROU VILLALOBOS|107
259871385|CHRISTIAM
编辑:在我尝试使用coding: utf-8
and的python文件中coding: iso-8859-1
(不能同时使用)。
编辑:我在 bpython 中使用了编解码器,效果很好。从文件中使用它时,我得到了不想要的结果。
编辑:我正在使用 linux (Ubuntu 9.10) 和 python 2.6.2。
有什么建议么?