文件处理的b模式

b代表字节bytes模式即字节模式。

以b模式读取文件时不能指定encoding,因为已近要求以字节的模式打开,但可以在打开并读取数据后解码。

字符串通过编码变为bytes,bytes通过解码变为字符串。
转为bytes的两种方式:

a = bytes("被转内容", encoding="utf8")
b = "被转内容".encode("utf8")
print(a, b)

字节模式存在的意义:
1.open语句默认以t的方式打开文件,即"rt"、“wt”、"at"的方式打开文件,如果文件不是文本形式的数据则无法以t的方式打开,但是可以以字节模式打开。
2.字节数据可以跨平台传输和处理。
3.b模式对Linux系统的作用不大,因为Linux系统默认就是以字节的方式处理数据的,对Windows系统作用较大。


实例

字节模式的读取
读取出来的是字节形式,想要得出字节对应的内容则必须指定解码方式。

#当前目录下有Test1.py文件且文件有内容
f = open("Test1.py", "rb")
data = f.read()
print(data)
print(data.decode("utf8")
f.close()

字节模式的写入
写入的内容必须是字节的形式,利用bytes()函数或字符串的.encode()方法都可以将目标字符串转化为编码。

f = open("Test2", "wb")
f.write(bytes("Hello\n", encoding="utf8"))
f.write("实验内容".encode("utf8"))
f.close()

字节模式的追加
同字节写模式要求相同,只是追加在文件末尾。

#当前目录下有Test3文件且文件有内容
f = open("Test3", "ab")
f.write("实验实验实验".encode("utf8"))
f.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值