#open函数,该函数用于文件处理,文件操作一共就有三种方法,打开文件
#关闭文件,
#先来说下打开文件,打开文件的模式有下面几种
# 1、r,只读模式
f = open('test.log','r',encoding='utf-8')
print(f.readable())
True
# 2、w、只写模式【不可读,不存在则创建,存在则删除文件中的内容】
f = open('test.log','w',encoding='utf-8')
print(f.readable())
False
# 3、a、追加模式【不可读,不存在则创建,存在则只追加内容】
f = open('test.log','a',encoding='utf-8')
print(f.readable())
False
#
# +表示可以同时学习某个文件
# r+ 可读写文件【可读、可写、可追加】
# w+ 写读
f = open('test.log','w+',encoding='utf-8')
print(f.readable())
True
# a+ 没什么卵用
# U表示在读取时,可以将\r \n \r\n自动转换成\n
# rU
# r+U
# f = open('test.log','w',encoding='utf-8')
# f.write('中daddfdeeee')
# f.close()
f = open('test.log','r',encoding='utf-8')
ret = f.read(2)
print(ret)
#中d,这里的2是读取2个字符
#readable是否可读
#readline,读取一行
#seek和tell,读
f = open('test.log','r',encoding='utf-8')
print(f.tell())
f.read(2)
print(f.tell())
f.close()
# 0
# 4
#tell的意思是查看当前指针当前的字节的位置,第一条tell命令,因为还没有开始读,所以
#值为0,然后读了2个字符,其中一个是中文,中文为3个字节,然后在加一个英文
#为4个字节,所以tell命令输出的值为4
#seek用来指定当前指针的位置,也是字节,指定从第四个字节开始读,读两个字节的数据
f = open('test.log','r',encoding='utf-8')
f.seek(4)
ret = f.read(2)
print(ret)
f.close()
# ad
#truncate,seek指定当前的指针为4,那么truncate就会保留该指定前面的数据
#删除该指针后面的数据然后保存到源文件中
f = open('test.log','r+',encoding='utf-8')
f.seek(4)
f.truncate()
#追击内容,要切记追加默认是没有换行符的,加了\n就会换行
f.close()
f = open('test.log','a',encoding='utf-8')
f.write('aaaaaaaaaaaaaaa')
f.close()
f = open('test.log','a',encoding='utf-8')
f.write('\nbbbbbbbbbbbbbbb')
f.close()
#每次只读取一行
f = open('test.log','r',encoding='utf-8')
ret = f.readline()
print(ret)
ret = f.readline()
print(ret)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本