文件操作
一、文件操作的作用
文件操作的作用就是把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。
二、文件的基本操作
2.1 文件操作步骤
1. 打开文件
2. 读写等操作
3. 关闭文件
可以只打开和关闭文件,不进行任何读写操作
2.1.1 打开
使用open函数,可以打开一个已经存在的文件,或者创建一个新文件
语法:open(name, mode)
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
2.1.2关闭
语法:文件对象.close()
2.1.1.1 打开文件模式
| r | 以只读⽅方式打开⽂文件。⽂文件的指针将会放在⽂文件的开头。这是默认模式。 |
| rb | 以⼆二进制格式打开⼀一个⽂文件⽤用于只读。⽂文件指针将会放在⽂文件的开头。这是默认模式。 |
| r+ | 打开⼀一个⽂文件⽤用于读写。⽂文件指针将会放在⽂文件的开头。 |
| rb+ | 以⼆二进制格式打开⼀一个⽂文件⽤用于读写。⽂文件指针将会放在⽂文件的开头。 |
| w |
打开⼀一个⽂文件只⽤用于写⼊入。如果该⽂文件已存在则打开⽂文件,并从开头开始编辑,即原有内 |
| wb |
以⼆二进制格式打开⼀一个⽂文件只⽤用于写⼊入。如果该⽂文件已存在则打开⽂文件,并从开头开始编 |
| w+ |
打开⼀一个⽂文件⽤用于读写。如果该⽂文件已存在则打开⽂文件,并从开头开始编辑,即原有内容 |
| wb+ |
以⼆二进制格式打开⼀一个⽂文件⽤用于读写。如果该⽂文件已存在则打开⽂文件,并从开头开始编 |
| a |
打开⼀一个⽂文件⽤用于追加。如果该⽂文件已存在,⽂文件指针将会放在⽂文件的结尾。也就是说, |
| ab |
以⼆二进制格式打开⼀一个⽂文件⽤用于追加。如果该⽂文件已存在,⽂文件指针将会放在⽂文件的结 |
| a+ |
打开⼀一个⽂文件⽤用于读写。如果该⽂文件已存在,⽂文件指针将会放在⽂文件的结尾。⽂文件打开时 |
| ab+ |
以⼆二进制格式打开⼀一个⽂文件⽤用于追加。如果该⽂文件已存在,⽂文件指针将会放在⽂文件的结 |
2.1.1.2 快速体验
f = open('test.txt', 'w')
此时的f是open函数的文件对象
2.1.2 文件对象方法
2.1.2.1 写
对象对象.write('内容')
体验:
# 1.打开 open() f = open('test.txt', 'w') # 2.读写操作 write() read() f.write('aaa') # 3.关闭 close f.close()
""" 1. 访问模式对文件的影响 2. 访问模式对write()的影响 3. 访问模式是否可以省略 """ # r:如果文件不存在,报错;不支持写入操作,表示只读 # f = open('test1.txt', 'r') # f = open('test1.txt', 'r') # f.write('abc') # f.close() # w: 只写,如果文件不存在,新建文件;执行写入,会覆盖原有内容 # f = open('1.txt', 'w') # f.write('abc') # f.close() # a: 追加,如果文件不存在,新建文件;在原有的内容基础上,追加新内容 # f = open('2.txt', 'a') # f.write('qwe') # f.close() # 访问模式参数可以省略,如果省略表示访问模式为r f = open('1.txt') f.close()
注意:w和a模式:如果文件不存在则创建该文件;如果文件存在,w模式先清空在写入,a模式直接末尾追加
r模式:如果文件不存在则报错
2.1.2.2 读
read()
文件对象.read(num)
num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。f = open('1.text', 'r')# 文件内容如果换行,底层有\n,会有字节占位,导致read书写参数读取出来的眼睛看不到的个数和参数值不匹配
# read不写参数表示读取所有 # print(f.read()) print(f.read(10)) f.close()
readlines()
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
f = open('1.text', 'r') ay = f.readlines() # ['aaaaa\n', 'bbbbb\n', 'ccccc\n', 'ddddd'] print(ay) f.close()
readline()
readline一次读取一行内容
f = open('1.text', 'r') con = f.readline() # aaaaa0 print(con) con = f.readline() # bbbbb print(con) con = f.readline() # ccccc print(con) f.close()

浙公网安备 33010602011771号