#现在是t模式,读前5个字符,按字符数打印withopen('a.txt','r',encoding='utf-8') as f:
print(f.read(5))#指定打印几个字符,默认全部打印# 现在是b模式,按字节数打印,一个汉字是三个字节withopen('a.txt','rb') as r:
print(r.read(5).decode('utf-8'))#指定打印几个字节,默认全部打印
控制文件内指针的移动
#控制光标的移动
seek(self, offset: int, whence: int = 0) -> int:
offset:int
代表的是移动的偏移量
如果是正数,就往右边移
如果是负数,就往左边移----》左边可移动才行
whence: int =0
代表的是模式
#0:默认的模式,代表指针移动的字节数是以文件开头为参照物,它能使用t和b模式#1:代表指针移动的字节数是以当前所在的位置为参照物的,只支持b模式,t模式不行#2:该模式代表指针移动的字节数是以文件末尾的位置为参照的
eg:
withopen('a.txt','r',encoding='utf-8') as f:
print(f.read(5))
f.seek(4)# 默认模式为0,以开头为参照物,开始计算4个字节,不是字符print(f.read())
withopen('a.txt','rb') as f:
print(f.read(4).decode('utf-8'))
#打完前四个光标移动4位,开始打剩下的内容
f.seek(4,1) # 模式为1,目前是以当前光标开始计算4个字节,目前utf-8字符是1个字节,汉字是3个字节print(f.read().decode('utf-8'))
withopen('a.txt','rb') as f:
print(f.read(4).decode('utf-8'))
f.seek(-10,2) #2模式是以文件末尾为参照物,向左打印,print(f.read().decode('utf-8'))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)