x = '上'
res1 = x.encode('gbk') # 将unicode编码成可以存储和传输的utf-8的二进制数据
print(res1) # b'xe4xb8x8a'
# bytes类型 字节串类型 你就把它当成二进制数据即可
res2 = res1.decode('gbk') # 将硬盘中的utf-8格式的二进制数据解码成unicode格式的二进制数据
print(res2)
文件打开的模式
r 只读模式
w 只写模式 w慎用 因为会删除文件里面所有的东西
a 追加写模式
操作文件单位的方式
t 文本文件 t在使用的时候需要指定encoding参数 如果不知道默认是操作系统的默认编码
b 二进制 一定不能指定encoding参数
第一个r表示只需要打开不要转译
with open(r'文件地址,mode='r',encoding='utf-8') as f:
print(f.readable()) # 是否可读
print(f.writable()) # 是否可写
print(f.read()) # 一次性将文件内容全部读出
用于二进制文件中
F.seek方法
作用:
设置读写位置
F.seek(偏移量, whence=相对位置)
偏移量
大于0的数代表向文件末尾方向移动的字节数
小于0的数代表向文件头方向中移动的字节数
相对位置
0 代表从文件头开始偏移
1 代表从文件当前读写位置开始偏移
2 代表从文件尾开始偏移
- f = open("zengsf.txt", "r")
- f.seek(5,1) #从文件头开始,偏移5个字符
- data = f.read(5) #读取5个字符
- print(data) #因此打印出来的就是5~9个字符
- f.close() #关闭文件