目录
1、文件操作
作用:文件操作的作用就是把一些数据内容存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。
2、文件的基本操作
2.1 文件操作步骤
- 打开文件
- 读写等操作
- 关闭文件
注意:步骤2可有可无,可以不进行任何读写操作,只打开和关闭文件。
2.1.1 Python 打开文件
语法:
python中可以使用open函数打开一个已经存在的文件,或者创建一个新文件,语法如下:
open(目标文件名或文件路径, 打开文件的模式)
(1)主访问模式及其特点
- r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
"""
主访问模式的特点:
1、访问模式对文件的影响
2、访问模式对write()的影响
3、访问模式是否可以省略
"""
# r:如果文件不存在,报错;只读,随意不支持写入操作
# f = open('test.txt','r')
# f.write('aa')
# f.close()
# w:表示只写,如果文件不存在,新建文件;执行写入,会覆盖原有内容
# f = open('test1.txt','w')
# f.write('bb')
# f.close()
# a:表示追加,如果文件不存在,新建文件;在原有内容基础上追加新内容
# f = open('text2.txt', 'a')
# f.write('xyz')
# f.close()
# 访问模式参数可以省略,如果省略则表示的是访问模式为r只读模式
f = open('text3.txt')
f.close()
(2)其他访问模式的特点与应用
遵循主访问模式r、w、a特点,与其大体一致。r、w、a后加+号,表示读写模式;r、w、a后加b表示读取二进制文件。
"""
通过执行代码观察:
1、r+ 和 w+ a+ 区别
2、文件指针对数据读取的影响
"""
# r+:没有该文件则报错;文件指针在开头,所以能读取出来数据
# f = open('text.txt', 'r+')
# f = open('text1.txt', 'r+')
# w+:没有该文件会新建文件;w特点:文件指针在开头,用新的内容覆盖原内容。
# f = open('text.txt', 'w+')
# f = open('text1.txt', 'w+')
# a+:没有该文件会新建文件;文件指针在结尾,无法读取数据(因为文件指针后面没有数据)
f = open('text.txt', 'a+')
con = f.read()
print(con)
f.close()
2.1.2 读取文件
- read()
文件对象.read(num)
参数num表示要从文件中读取的数据的字节长度,如果没有传入num,默认读取文件中所有的数据。文件内容如果换行(底层有/n),会有字节占位,导致read书写参数读取出来的个数与眼睛所看到的个数不匹配。
- readlines()
文件对象.readlines()
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
若数据中若含有换行符/n时,也会被一并读取出来。
f = open('test.txt')
content = f.readlines() # 数据中若含有换行符/n,也会被一并读取出来
print(content)
# ['aaa\n', 'bbb\n', 'ccc\n', 'ddd\n', 'eee']
# 关闭文件
f.close()
- readline() 一次读取一行内容。
- seek() 用来移动文件指针。
文件对象.seek(偏移量, 起始位置)
起始位置:
0:文件开头
1:当前位置
2:文件结尾
2.1.3 关闭操作
文件对象.close()