文件操作方法

引言:

平时操作文件都是在计算机中直接新建或编辑文件,这种就类似操作系统直接给我们创建了一个快捷方式,可以直接对硬盘进行操作,今天这里介绍如何使用python代码来对一个文件进行操作

  • 文件操作简介
    定义: 文件就是操作系统提供的直接操作硬盘的快捷方式
    文件的操作流程
  1. 创建或打开文件
  2. 编辑文件
  3. 保存文件
  4. 关闭文件
# 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 只追加面膜是 :只能在文件最后追加
  1. 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='')
posted @ 2025-03-13 11:46  樵夫-  阅读(11)  评论(0)    收藏  举报