文件操作
编码表
-
ASCII码
基于英文的编码,一个字符占一个字节
-
GBK / GB2312
基于中文的编码,一个汉字字符占两个字节
-
unicode
基于全球语言的编码,一个字符占四个字节
-
utf-8
基于unicode的压缩,一个字符占三个字节
编码/解码
-
编码
# 将字符串str1编码成UTF-8格式的字节序列 str1 = "一起加油!" str2 = str1.encode("UTF-8") print(str2) # 再将字节序列str2解码按照UTF-8格式解码成对应字符 str3 = str2.decode("UTF-8") print(str3)
覆盖写入:w
-
以字符方式覆盖写入:w
f = open("test2", mode="w", encoding="UTF-8") f.write("6666666") f.close()
-
以字节方式覆盖写入:wb
f = open("test1", mode="wb") f.write("6666666".encode("UTF-8")) f.close()
追加写入:a
-
以字符方式追加写入:a
f = open("test2", mode="a", encoding="UTF-8") f.write("6666666\n") f.close()
-
以字节方式追加写入:ab
f = open("test1", mode="ab") f.write("\n6666666".encode("UTF-8")) f.close()
读取:r
-
以字符方式读取:r
f = open("test2", mode="r", encoding="GBK") s1 = f.read() f.close() print(s1)
-
以字节方式读取:rb
f = open("test2", mode="rb") s1 = f.read().decode("GBK") f.close() print(s1)
打开文件的另一种方式
# 第一种
f = open("test2", mode="r", encoding="GBK")
s1 = f.read()
f.close()
print(s1)
# 第二种
s1 = ''
with open("test2", mode="r", encoding="GBK") as f:
s1 = f.read()
print(s1)
标签:文件,UTF,字节,s1,mode,close,操作,open
From: https://www.cnblogs.com/wy56297/p/18571966