f = open("歌姬", mode = "r", encoding="utf-8")
s = f.read()
f.close() # 不要忘记关闭句柄
../ 返回上一层目录
相对路径 相对于当前程序所在的文件夹
绝对路径 a从磁盘根目录寻找 b互联网上的绝对路径
f.flush() 刷新缓冲区
mode="w" "wb" "w+" 写入之前会清掉前面的内容(只要带w就会清空) w+通常是不用的(因为很难用)
mode="a" 在原来的基础上进行追加内容,不会清空前面的内容
mode="rb" 以字节方式读取内容
可以用解码方式读取为文字 print(bs.decode("utf-8"))
mode= "w" "r" "a" 处理文本内容
mode= "wb" "rb" "ab"处理非文本内容
mode= "r+" 模式
默认光标在文件开头,如果先写后读会导致写入内容被写在文件开头,文件开头的内容被覆盖,必须先读后写才是安全的.
r+ 读写模式重大bug?只要读过内容,再进行写入或者其他文件操作(非读操作)时,光标都在末尾
反复读写需要移动光标
f.seek(x 移动到x位置,x的单位是byte,如果是utf-8编码的中文,则数字应为3的倍数
f.seek(0) 移动光标到开头
f.seek(0,2) 移动光标到末尾
tell( ) 返回当前光标位置
read(n) 读取n个字(单位是字符)
文件修改: 创建新文件,把修改后的内容写入新文件,删除老文件,再重新命名新文件
for line in f: for循环读取文件,每次读取一行 for循环可以迭代文件句柄
print(line)
import os
os.remove("") 删除文件
os.rename("原文件","新文件") 重命名文件
with open("文件名") as f :
这种写法不需要 close ( ) 关闭文件句柄
readable()
writeable()
文件切割 line.split()