Converting text file to different encoding.
Oscar Benjamin
oscar.j.benjamin at gmail.com
Fri Apr 17 10:05:52 EDT 2015
On 17 April 2015 at 14:51, <subhabrata.banerji at gmail.com> wrote:
> On Friday, April 17, 2015 at 6:50:08 PM UTC+5:30, subhabrat... at gmail.com wrote:
>> I am having few files in default encoding. I wanted to change their encodings,
>> preferably in "UTF-8", or may be from one encoding to any other encoding.
>>
>> I was trying it as follows,
>>
>> >>> import codecs
>> >>> sourceEncoding = "iso-8859-1"
>> >>> targetEncoding = "utf-8"
>> >>> source = open("source1","w")
>> >>> target = open("target", "w")
>> >>> target.write(unicode(source, sourceEncoding).encode(targetEncoding))
>>
>> but it was giving me error as follows,
>> Traceback (most recent call last):
>> File "<pyshell#6>", line 1, in <module>
>> target.write(unicode(source, sourceEncoding).encode(targetEncoding))
>> TypeError: coercing to Unicode: need string or buffer, file found
The error comes from `unicode(source, sourceEncoding)` and results
from the fact that source is a file object when it should be a string.
To read the contents of the file as a string just change `source` to
`source.read()`.
Oscar
More information about the Python-list
mailing list