1.文件的操作步骤
①打开文件
②读写文件
③关闭文件
2.打开文件
open()函数可以打开一个已经存在的文件,或者创建一个新文件。
语法:open(name,mode,encoding)
name:要打开的目标文件名的字符串(可以包含具体路径)
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
encoding:编码格式(推荐使用UTF-8)
f=open('python.txt','r',encoding='UTF-8')
注意:encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定
3.读取文件
(1)read()方法:
文件对象.read(num)
num表示要从文件中读取的数据的长度(字节),如果没有传入num,那么就表示读取文件中所有的数据。
(2)readlines()方法:
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
f = open('python.txt')
content = f.readlines()
注意:读取文件的操作会接着上一次读取的地方读取。
(3)readline()方法:
一次读取一行内容。
f = open('python.txt')
content = f.readline()
print(f'第一行:{content}')
content = f.readline()
print(f'第二行:{content}')
#关闭文件
f.close()
(4)for循环读取文件行
for line in open("python.txt","r"):
print(line)
#每一个line临时变量就记录了文件的一行数据
4.关闭文件
close()关闭文件对象
f = open("python.txt","r")
f.close()
#最后通过close,关闭文件对象,也就是关闭文件对内存的占用
#如果不调用close,同时程序没有停止运行,那么这个文件将一直被Python程序占用
5.with open语法
with open("python.txt","r") as f:
f.readlines()
#通过在with open的语句块中对文件进行操作
#可以在操作完成后自动关闭close文件,避免遗忘掉close方法
6.写入文件
#打开文件
f = open("python.txt","w")
#文件写入
f.write("hello world")
#内容刷新
f.flush()
注意:直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区。
当调用flush的时候,内容会真正写入文件
这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
close方法,内置了flush的功能。
while方法如果文件不存在会创建文件,如果文件已经存在,写入的文字会覆盖原有的文件,清空原有的内容。
7.文件追加操作
#1.打开文件,通过a模式打开即可
f = open('python.txt','a')
#2.文件写入
f.write("hello world")
#3.内容刷新
f.flush()
注意:a模式,文件不存在会创建文件;文件存在会在最后,追加写入文件。