python读取文件并另存为_Python从文件读取并保存到utf-8

1586010002-jmsa.png

I'm having problems reading from a file, processing its string and saving to an UTF-8 File.

Here is the code:

try:

filehandle = open(filename,"r")

except:

print("Could not open file " + filename)

quit()

text = filehandle.read()

filehandle.close()

I then do some processing on the variable text.

And then

try:

writer = open(output,"w")

except:

print("Could not open file " + output)

quit()

#data = text.decode("iso 8859-15")

#writer.write(data.encode("UTF-8"))

writer.write(text)

writer.close()

This output the file perfectly but it does so in iso 8859-15 according to my editor. Since the same editor recognizes the input file (in the variable filename) as UTF-8 I don't know why this happened. As far as my reasearch has shown the commented lines should solve the problem. However when I use those lines the resulting file has gibberish in special character mainly, words with tilde as the text is in spanish. I would really appreciate any help as I am stumped....

解决方案

Process text to and from Unicode at the I/O boundaries of your program using the codecs module:

import codecs

with codecs.open(filename, 'r', encoding='utf8') as f:

text = f.read()

# process Unicode text

with codecs.open(filename, 'w', encoding='utf8') as f:

f.write(text)

Edit: The io module is now recommended instead of codecs and is compatible with Python 3's open syntax, and if using Python 3, you can just use open if you don't require Python 2 compatibility.

import io

with io.open(filename, 'r', encoding='utf8') as f:

text = f.read()

# process Unicode text

with io.open(filename, 'w', encoding='utf8') as f:

f.write(text)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值