python3write中文
1. python3 中文输出乱码问题
python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。
另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。
答按惯例都在(序列化)输出时才转换成本地编码。
比如
file.write("GBK的中文".encode("GBK"))
python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。
2. python用xlwt向xls中写入中文,显示乱码该怎么解决
乱码是编码问题,微软的excel默认打开的编码是gbk,如果你写入的数据是非gbk编码的,那么使用微软excel打开就会出现乱码的情况。解决方法为:对要写入的数据编码为gbk之后在进行写入,在python中的简单的操作方法如下:
1.源数据为unicode编码,则直接使用encode("gbk")即可转换编码;
str=u"我爱中国共产党"#unicode编码的字符串
des_str=str.encode("gbk")#转换为gbk编码
2.源数据不是unicode编码,那么必须先使用decode函数解码为unicode编码,在按照第一种情况转换为gbk编码。
str=u"我爱中国共产党"#unicode编码的字符串
src_str=str.encode("utf-8")#源数据格式utf-8
des_str=str.decode("utf-8").encode("gbk")#转换为gbk编码
注意:encode和decode方法为字符串的方法,不能应用与列表等其他类型的数据上
3. python 列表写入文件时怎么变成中文
list1=[u'u96f7u519b',u'u9eceu4e07u5f3a',u'u6d2au950b',u'u5218u5fb7',u'u96f7u519b',u'u6797u658c',u'u5218u82b9',u'u8bb8u8fbeu6765',u'u96f7u519b',u'u9eceu4e07u5f3a']
importcodecs
f=codecs.open('list1.txt','w','utf-16')
foriinlist1:
i=i+''
f.write(i,)
f.close()
4. Python3处理中文字符报错
write()中的参数必须是字符串 codecs.BOM_UTF8是字节
5. python3用write()写txt文件,txt文件没变化
漏了 f.close()
write 是有buffer的,不close不会自动flush到磁盘。
6. 用python怎么想一个文件中写入一个中文字符
用python3的话很简单就可以了
withopen('d:\abc.txt','w')asfw:
fw.write('中文')
这样就可以了
7. python怎么中文写txt文件
本文以txt 文本为例,只是介绍ANSI,Unicode,UTF-8 三种编码的文件的读写过程,对于编码不做深究了
一、用记事本另存为时,可以选择保存文本使用的的几种编码模式,分别为:
ANSI:默认保存的编码格式,采用本地操作系统默认的内码,简体中文一般为GB2312。
Unicode:UTF-16的小端字节序,加上BOM签名:0xFFFE。
Unicode bigendian:Unicode编码:UTF-16的大端字节序,加上BOM签名:0xFEFF。
UTF-8:编码格式是:UTF-8,其BOM为0xEF BB BF(UTF-8不区分字节序,这个BOM仅标志UTF-8编码)
- def read_out(self): with codecs.open(self.filename, 'r+') as get: return get.read().decode('gbk')
- f.write(self.filename.encode('gbk'))
- content = raw_input().decode(sys.stdin.encoding)
- type(content) 是unicode
Python对于读取的txt文件,最好在读取的时候进行decode成unicode编码,
然后再写入的时候进行encode成对应想要的编码类型,这样可以保证源文件的编码方式不会改变,且中文不会乱码
整个代码过程保持使用unicode编码方式利用try…except 来进行编码判别具体使用了那种编码方式
二、对于raw_input 通过键盘输入的文字,通过sys模块中的stdin.encodeing来进行解码
暂时这么多
8. python3.3中文乱码与默认编码格式设定。
我这边输出没有什么问题。
下面是输出:
i = 1
s['statuses'][0]['text'] = 出轨是男人的天性,防小三是女人一生的战役。
s['statuses'][1]['text'] = 漂亮女孩有时候比普通女孩更可怜。男人可以很坦然的拒绝普通女孩的感情和身体,但是男人会欺骗漂亮女孩的感情从而得到她的身体。这就是为什么古人说红颜命薄,你们感受一下。
s['statuses'][2]['text'] = 留几手教你如何利用空闲时间学习
。。。
i = 2
s['statuses'][20]['text'] = 骂人,其实内容并不重要,一个小萝莉,满嘴脏话,也吓不住人。
。。。
i = 3
s['statuses'][40]['text'] = 我不就是在你家住的时候吃了几只烧鸡没给你钱么?至于这么编排我么?这情节都是你在哪本言情小说里扒出来的吧?
后面省略了。
前提就是这个样子的
9. 怎么解决Python3乱码问题
python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如逗sys.setdefaultencoding地;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。
另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。
答按惯例都在(序列化)输出时才转换成本地编码。
比如
file.write("GBK的中文".encode("GBK"))
python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。
10. 求教python在文件中写入中文需要的两个参数是做什么的
encoding是文件编码,默认的一般是ansi,如果不指定的话,打开就有可能看到乱码。
ensure_ascii是json序列化的一个特性,是为了方便传输,避免编码问题(也就是上面的encoding),可用把unicode字符转码为ascii字符,这样就不需要指定encoding了。但是导致的问题就是肉眼看不出中文内容(和乱码有本质区别),ensure_ascii=False的意思就是对中文不做转码处理,原样输出到json