文件处理

x = '上'
res1 = x.encode('gbk') # 将unicode编码成可以存储和传输的utf-8的二进制数据
print(res1) # b'\xe4\xb8\x8a'
# 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 代表从文件尾开始偏移

    1. f = open("zengsf.txt", "r")
    2. f.seek(5,1) #从文件头开始,偏移5个字符
    3. data = f.read(5) #读取5个字符
    4. print(data) #因此打印出来的就是5~9个字符
    5. f.close() #关闭文件

 

posted @ 2019-07-06 22:29  杨鑫Zz  阅读(129)  评论(0编辑  收藏  举报