Python文件(File)的内建函数

文件操作案例

是用Python对文件进行基本的读写操作。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

语法格式

简单的语法格式为:open(file, mode=‘r’)
完整的语法格式为:open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener:

mode模式参数详细说明:

序号 模式 描 述
1 t 文本模式 (默认)。
2 x 写模式,新建一个文件,如果该文件已存在则会报错。
3 b 二进制模式。
4 + 打开一个文件进行更新(可读可写)。
5 U 通用换行模式(不推荐)。
6 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
7 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
8 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
9 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
10 w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
11 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
12 w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
13 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
14 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
15 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
16 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
17 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
18 默认为文本模式,如果要以二进制模式打开,加上 b 。

文件内建函数和方法

序号 内建函数 函数描述
1 open() 打开文件
2 read() 输入
3 readline() 输入一行
4 seek() 文件内移动
5 write() 输出
6 close() 关闭文件
其他文件内建函数和方法:

file对象使用open函数来创建,下表列出了file对象常用的函数:

序号 方法 描述
1 file.close() 关闭文件。关闭后文件不能再进行读写操作。
2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
3 file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
4 file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。
5 file.next() 返回文件下一行。
6 file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。
7 file.readline([size]) 读取整行,包括 “\n” 字符。
8 file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。
9 file.seek(offset[, whence]) 设置文件当前位置。
10 file.tell() 返回文件当前位置。
11 file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。
12 file.write(str) 将字符串写入文件,返回的是写入的字符长度。
13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符
打开和写入实例1:
# 我们要将小说的人物记录文件中
#打开文件name.txt,并开启写入模式,付给file变量
file =open('name.txt','w') #默认只读  #open(mode=r)
#写入函数方法
file.write('宋江')
#关闭文件并保存
file.close()
#运行后在相应的路径下,产生一个name.txt文件

以上实例输出结果为:
在这里插入图片描述

打开和读取实例2:
file1 = open('name.txt')
print(file1.read())
file.close

以上实例输出结果为:
在这里插入图片描述

打开和新增实例3:
#我们要将小说的人物记录文件中,但由于文件已有内容,需要在基础上新增内容
file2 = open('name.txt','a') #此处记住模式用:a
file2.write('吴用')
file2.close
#这就是实现了新增的功能

以上实例输出结果为:
在这里插入图片描述

文件的常用操作

打开和只读取文件一行实例4:
#我们要读取小说的人物记录的文件,只读取一行
file3 = open('name.txt') 
print(file3.readline())
file3.close
#这就是实现了新增的功能
通过for循环使用,逐行打印实例5:
#我们要读取小说的人物记录的文件,通过for循环使用,逐行打印
file4 = open('name.txt') 
for line in file4.readlines():
	print(line)
	print('-------')
file4.close

以上实例输出结果为:
在这里插入图片描述

通过tell和seek,来返回文件当前位置实例6:
#打开文件
file5 = open('name.txt')
#输出光标所在位置,最初位置为0
print(file5.tell()) 
#查看文件1
file5.read(1)
#输出光标所在位置,此时位置为1
print(file5.tell())
#偏移位置,移动,第一个参数代表的是偏移的位置,第二个参数 0表示从文件开头偏移 1表示从当前位置偏移 2从文件结尾
file5.seek(0,0)
#听过验证发现回到最初的位置0
print(file5.tell())
file5.close

以上实例输出结果为:
在这里插入图片描述

发布了26 篇原创文章 · 获赞 2 · 访问量 547

猜你喜欢

转载自blog.csdn.net/weixin_42741880/article/details/104607877