python学习第十天
一.控制文件指针移动
1.文件内指针移动的单位是什么?
文件内指针的移动都是以Bytes为单位的,唯一例外的是t模式下的read(n),n以字符为单位
f.tell():当前光标左侧所有的字节数(返回字节数)
# t模式下read(n)
with open("black.txt",mode='rt',encoding='utf-8')as f:
data=f.read(3) # 文件内容为你abc好
print(f.tell()) # 5(tell是计算当前光标左侧的字节数)
print(data) # 你ab
# b模式
with open('black.txt',mode='rb')as f:
data=f.read(4) #文件内容为:你abc好
print(type(data)) # <class 'bytes'>
print(len(data)) # 4
print(data.decode("utf-8")) #你a
了解:硬盘容量的本质就是能存多个二进制数bit
# 8bit=>1Byte
# 1024Byte = 1KB
# 1024KB=1MB
# 1024MB=1GB
# 1024GB=1TB
# 1GB=1024*1024*8
f.truncate():把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中.(括号内是字节数)
截取—>清空---->写入
with open('black.txt',mode='r+t',encoding='utf-8')as f:
f.truncate(4) #你a (原文件内容为:你abc好)