读取文件实例:
# 文件句柄 = open('文件路径','模式','编码')
f = open('a.txt','r',encoding='utf-8') # 默认打开模式就是r模式
# 应用程序向操作系统发起系统调用open(...),操作系统打开文件返回一个文件句柄给应用,应用程序将文件句柄赋值给f
data = f.read() # 通过句柄对文件进行操作
f.close # 关闭文件,防止资源浪费
# 推荐用with关键字来管理上下文
with open('a.txt','w') as f:
pass
with open('a.txt','r') as read_f,open('b.txt','w') as write_f:
data=read_f.read()
write_f.write(data)
管理文件的几种模式
r,w,a,x | rb,wb,ab,xb | r+,w+,a+,x+ |
只读,只写,追加,只写不存在创建存在报错 | 二进制,对于非文本文件 | 可读,可写 |
文件的操作方法
with open('a.txt','w') as f:
# 读操作
data = f.read() # 读取文件去内容
data = f.readline() # 读取文件的第一行内容,并且光标移动到下一行行首
data = f.readlines() # 将内容分行读取,并存放到列表中
# 写操作
f.write('content\n') # 写入文件,换行需要手动加 \n
f.writelines(['content1\n','content2\n','...\n']) # 写入几行文件,需手动加\n换行
#了解
f.readable() #文件是否可读
f.writable() #文件是否可写
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
f.name # 文件名
文件内光标的移动
# 打开文件默认光标位置是0
with open('a.txt','w') as f:
f.seek(5,0) # 0模式,移动5个单位(普通模式是字符,b模式是字节)
f.tell() # 打印当前光标所在位置
seek 方法用来移动光标,三种模式
0 相对于文件开头
1 相对于当前位置
2 相对于文件末尾
# 注意: 0可以在普通文件使用,1和2只能在b模式下使用