python with open as f 写韩文中文乱码

python3和python2的写法不一样具体如下:

python3:

with open(r'd:\ssss.txt','w',encoding='utf-8') as f:

  f.write(u'中文')

 

python2中open方法是没有encoding这个参数的,如果像python3一样的写法会报异常:TypeError: 'encoding' is an invalid keyword argument for this function

python2中需要加上:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
with open(r'd:\sss.txt','w') as f:
  f.write(unicode("\xEF\xBB\xBF", "utf-8"))#函数将\xEF\xBB\xBF写到文件开头,指示文件为UTF-8编码。
  f.write(u'中文')
读取文件
with open(r'd:\aaa.txt','r') as ff:
  a= ff.read().encode('gbk')#编码为gbk输出 控制台
  print a
 
或者还有一种写法:
 
import io
with io.open(path,'w',encoding='utf-8') as f:
  f.write(unicode("\xEF\xBB\xBF", "utf-8"))#函数将\xEF\xBB\xBF写到文件开头,指示文件为UTF-8编码。
  f.write(u'这是中文')
 
with open(r'd:\aaa.txt','r') as ff:
  a= unicode(ff.read(),'utf-8')#编码为UTF-8输出
  print a
 
posted @   也许明天  阅读(702)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
历史上的今天:
2014-07-12 asp 正则替换函数
点击右上角即可分享
微信分享提示