python更改编码方式为utf-8,python3设置编码为utf8
I. python打开文件代码如下:
F=open(d:\test.txt , w )描述:
第一个参数是文件名,包括路径;
第二个参数是开模式。
r :只读(默认。如果文件不存在,则会引发错误)
w :只写(如果文件不存在,将自动创建文件)
a :附加到文件的末尾
r :读和写
如果需要以二进制模式打开文件,需要在mode后面加上字符“b”,比如“rb”、“wb”。
其次,python读取文件内容f.read(size)
size参数表示读取的次数,可以省略。如果省略size参数,则意味着读取文件的所有内容。
F.readline()读取文件中一行的内容。f.readlines()将所有行读入数组[line1,line2,…lineN]。
这种方法常用于避免将所有文件内容加载到内存中,方便提高效率。
三。python写文件f.write(string)
向文件中写入一个字符串。如果写入完成,必须在字符串后添加“\n”,然后f.close()关闭文件。
四。文档中的内容定位
F.read()读取后,文件指针到达文件末尾。如果你再次尝试f.read(),你会发现你读的是空的内容。如果要再次阅读所有内容,必须将定位指针移动到文件的开头:
F.seek(0)这个函数的格式如下(以字节为单位):f.seek (offset,from_what) from_what表示读取的起始位置,offset表示从from _ what移动一定的距离。例如,f.seek(10,3)表示定位到第三个字符,并将其向后移动10个字符。
当from_what的值为0时,表示文件的开头。也可以省略。默认值为0,表示文件的开头。下面是一个完整的例子:
f=open(/tmp/workfile , r )f . write( 0123456789 abcdef )f . seek(5)#转到文件中的第6个字节f.read(1) f.seek (-3,2) #转到endf之前的第3个字节。阅读(1) 5。关闭文件以释放资源。文件操作完成后,一定要记得关闭文件f.close()为其他程序释放资源。
读写ASCII或者gbk编码格式的文件就可以了,比较简单。读取和写入如下:
# coding=gbkf=open( c:/intimate . txt , r) # r表示文件打开方式,即只读S1=f . Read()S2=f . readline()S3=f . readlines()# Read everything f . close()f=open( c:/intimate . txt , w) # w写文件11f.write (S1) f.writelines(
python unicode文件读写:
# coding=gbk import codecsf=codecs . open( c:/intimate . txt , a ,Utf-8 )f . write(u Chinese )s= Chinese f . write(s . decode( GBK ))f . close()f=codecs . open( c:/intimate . txt , r , Utf-8)
默认情况下,py文件是ASCII编码的。显示中文时,会转换一个ASCII到系统的默认代码,然后出现错误:SyntaxError:非ASCII字符。您需要在代码文件的第一行或第二行添加编码指令:
# coding=utf-8 ##存储汉字以utf-8编码打印中文如上直接输入的字符串按照代码文件的编码进行处理。如果用unicode编码,有以下两种方法:
S1=u 中文 #u表示以unicode编码存储信息。S2=Unicode(中文, gbk) unicode是一个内置函数,第二个参数表示源字符串的编码格式。
Decode是任意字符串的方法,将字符串转换为unicode格式,参数表示源字符串的编码格式。
Encode也是任意字符串的方法,它将字符串转换为参数指定的格式。
python代码文件的编码
用u 汉字构造的是unicode类型,不用的是str类型。
str的编码与系统环境有关,一般是sys.getfilesystemencoding()得到的值。
因此,要从unicode转换为str,应该使用encode方法。
从字符串转换为unicode,所以使用decode
例如:
# coding=utf-8 #默认的编码格式是utf-8s=u Chinese #unicode编码的文本打印s.encode(utf-8) #转换成utf-8格式输出打印s #效果同上,默认好像是直接转换成指定的编码。我的总结:
U=uunicode编码文本 g=u.encode(gbk) #转换成gbk格式打印g #此时是乱码,因为当前环境是utf-8,gbk编码文本是乱码str=g.decode (gbk )。encode (UTF-8) #读作G(GBK编码格式
南解码( gbk ,忽略)。encode (utf-8) #读入gbk编码(当然是读入gbk编码格式的文本)并忽略错误的编码,转换成utf-8编码输出因为decode函数的原型是decode ([encoding],[errors= strict])。
如果设置为忽略,非法字符将被忽略;
如果设置为替换,将使用?替换非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。