On Friday, April 17, 2015 at 7:36:46 PM UTC+5:30, Oscar Benjamin wrote: > wrote: > > On Friday, April 17, 2015 at 6:50:08 PM UTC+5:30, 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
I tried to do as follows, >>> import codecs >>> sourceEncoding = "iso-8859-1" >>> targetEncoding = "utf-8" >>> source = open("source1","w") >>> string1="String type" >>> str1=str(string1) >>> source.write(str1) >>> source.close() >>> target = open("target", "w") >>> source=open("source1","r") >>> target.write(unicode(source.read(), sourceEncoding).encode(targetEncoding)) >>> am I going ok? -- https://mail.python.org/mailman/listinfo/python-list