文件操作方法
引言:
平时操作文件都是在计算机中直接新建或编辑文件,这种就类似操作系统直接给我们创建了一个快捷方式,可以直接对硬盘进行操作,今天这里介绍如何使用python代码来对一个文件进行操作
- 文件操作简介
定义: 文件就是操作系统提供的直接操作硬盘的快捷方式
文件的操作流程
- 创建或打开文件
- 编辑文件
- 保存文件
- 关闭文件
# Python代码操作文件的语法
# 方式一:(不推荐使用,需要写close来关闭打开的文件)
l1 = open('a.txt', 'r', encoding='utf8')
print(l1.read())
l1.close()
# 方式二: (推荐使用,with会自动帮助我们关闭文件)
with open('a.txt', 'r', encoding='utf8') as f:
print(f.read())
"""
注意:
如果对文件进行操作时使用到了反斜杠,如 'C:/admin/a.txt',这里则需要使用'r'将反斜杠的特殊含义转义掉,仅仅作文一个源字符使用
"""
- 文件的读写模式
- r -- read 只读模式: 只能读不能写
- w -- write 只写模式: 只能写不能读,需要注意如果不对光标进行操作。w操作会将原本文件中存在的数据全部覆盖
- a -- append 只追加面膜是 :只能在文件最后追加
- read r 模式
read r 模式
# 如果文件不存在会直接报错
with open(r'a.txt', 'r', encoding='utf8') as f:
print(f.read())
write w 模式
# 如果文件不存在,则自动创建文件,如果文件存在,则先清空文件中的内容
with open('a.txt', 'w', encoding='utf8') as f:
f.write('1\n')
f.write('2')
f.write('3')
"""
文件结果为:
1
23
解析:
如果写文件时不添加\n换行符,数据将不会换行,直接在一行显示
"""
append a 模式
# 在文件末尾追加
with open('a.txt', 'a', encoding='utf8') as f:
f.write('1')
f.write('2')
f.write('3')
"""
结果:
1
23123
解析:
在上一份w模式的文件基础上,替换模式为a,可以看到在文件的最后追加了123
"""
- 文件的操作模式
t 模式和b 模式,默认不写使用的是t模式
t模式
rt 默认t可以省略
wt 默认t可以省略
at 默认t可以省略
只能操作文本数据,必须带上encodeing参数,读写的最小单位是文本的最小单位
b模式
rb b不可以省略
wb b不可以省略
ab b不可以省略
能操作任何数据,不需要加入encodeing参数,读写的最小参数是字节
- 文件的内置方法
# 文件的内置方法
read() # 一次性读取所有内容,如果文本数据很大不建议使用会造成内存溢出
readline() # 结果出来时是一个列表,里面的元素对应的是文件中每一行的内容
readable() # 判断当前文件是否可读,结果为bool值
write() # 写入文件内容字符串或者是bytes类型
writelines() # 可以将列表中的多个元素写入文件
writable() # 判断文件是否可写,结果为bool值
flush # 保存的意思,如果文件内容非常重要,可以在操作完文件后使用flush立马将内存中的数据刷新到硬盘中
- 文件内光标移动实例
# 文件内光标移动实例
1. 写文件
with open(r'a.txt', 'a', encoding='utf8' ) as f:
f.write('好家伙1\n')
2. 监控文件
import time
with open('a.txt', 'rb',) as f:
f.seek(0, 2)
while True:
line = f.readline()
if len(line) == 0:
time.sleep(0.5)
else:
print(line.decode('utf8'), end='')

浙公网安备 33010602011771号