---恢复内容开始---
open 打开
f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes
打开一个文件的时候获取到的是一个文件句柄.
# 文件句柄是一个可迭代对象 # 优点: 相对来说节省内存, 操作相对简单 for line in f: # 从文件中读取到每一行给前面的line print(line.strip()) f.close()
执行完对文件的操作后 要执行
f.close()
绝对路径:从磁盘根目录开始寻找
相对路径:相对于当前程序所在的文件夹. ../ 上一层文件 文件夹/ 进入xxx文件夹
mode="模式" 模式:
r: read 读取,只读,
f = open('dnf.txt', mode='r', encoding='utf-8') print(f.read()) # 将文件中的所有内容输出 # print(f.read(5)) # 读取5个字符 # print(f.read(5)) # 再次读取5个字符 # print(f.readline()) # 读取一行 # print(f.readlines()) #一次性把文件中的内容读取到列表中 ['剑帝貌美如花, ', '只把剑帝当主号.'] f.close()
w: write, 写入,只写 如果文件不存在,会创建文件; 文件存在,会清空文件
# 每次用w模式打开文件, 都会清空这个文件(注意) f = open('one', mode="w", encoding="utf-8") # 可以帮我们创建文件 f.write('yesterday ') f.write("today ") f.write('tomorrow ') # 好习惯 f.flush() # 刷新管道, 把数据写入文件 f.close()
a : append, 追加写 当文件不存在,也会创建文件
# 每次用w模式打开文件, 都会清空这个文件(坑) f = open('one', mode="w", encoding="utf-8") # 可以帮我们创建文件 f.write('yesterday ') f.write("today ") f.write('tomorrow ') # 好习惯 f.flush() # 刷新管道, 把数据写入文件 f.close()
文件操作中关于文件句柄的相关操作
seek() 移动光标
f.seek(0) 移动到开头(使用最多)
f.seek(0, 2) 移动到末尾
seek:两个参数
1. 表示偏移量
2. 从xxx开始偏移, 默认0, 开头 1, 当前位置 2, 末尾
tell
返回光标所在的位置
---恢复内容结束---