文件操作知识点补充
1 立即刷新 方法 flush 此方法可以立刻将内存中的数据刷新到硬盘上
2 判断可读 方法 readable 此方法可以判断文件是否可读
3 判断可写 方法 writeable 此方法可以判断文件是否可写
4 写入数据 方法 writelines 此方法可以在方法后的括号内放入列表,列表中的元素会被依次写入文件
光标的移动
光标的移动可以用seek来实现,如 seek(offest,whence)
其中 offest用来控制移动的位数 whence则是操作模式,分别为数字 0/1/2 0代表文件的开头(可用于文本或二进制) 1代表当前位置 2代表文件末尾 (1与2只能在二进制模式下使用)
注 在二进制模式下,三个字节为一个中文字符,如果移动错误,会出现乱码
文件的修改
方案1 读取文件,找到指定替换字符,完成修改
with open(r'a.txt’,‘r',encoding=‘utf8’)as f:
data = f.read()
with open(r‘a.txt’,‘a',encoding=‘utf8')as f:
f.write=(data.replace('字符a','字符b')) #a为文本中存在的数据 b为指定替换的数据
方案2 新建文件,将文件老数据写入新文件,在过程中完成修改,随后删除老文件,并重命名新文件
impot os
with open(r‘a.txt’,‘r’,encoding='utf8')as f,open(r‘a1.txt’,'w',encoding='utf8')as f1:
for line in f:
f1.write(line.replace(‘字符a’‘字符b’))
os.remove(r'a.txt')
os.rename(r‘a1.txt’,r‘a.txt’)
函数
提前对某一串代码进行定义,完成定义以后通过函数名,可以进行反复使用 方法 def (定义关键字) return(返回值)
函数体语法结构
def 函数名(参数):
#函数体代码功能注释
函数体代码
return 函数的返回值
注函数必须提前定义,才能使用,否则会报错,如