python更改编码方式为utf-8,python3设置编码为utf8

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: