当前位置:首页 >> 编程语言 >> 【Python基础】文件读写,atrix 3

【Python基础】文件读写,atrix 3

0evadmin 编程语言 1
文件名:【Python基础】文件读写,atrix 3 【Python基础】文件读写 文章目录 @[toc]打开文件`open()`函数参数解析示例 文件路径绝对路径示例 相对路径示例 打开文件的模式常用模式 读文件示例 写文件示例 按行读写文件`readline()`示例 `readlines()`示例 `writelines()`示例 关闭文件示例`finally`语句示例 上下文管理器示例 自定义读写类示例 打开文件 在Python中,打开文件使用的是open()函数,open()函数的基本语法如下 open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) open()函数参数解析 file:要打开的文件路径,可以是绝对路径也可以是相对路径mode:打开文件的模式,默认为r,表示以只读模式打开文件buffering:缓冲策略,是一个可选参数,默认值为None,表示使用系统默认的缓冲策略 取值为 0 0 0或False时,表示不进行缓冲,直接从磁盘读取或写入文件取值为 1 1 1或True时,表示行缓冲,即每写入一行数据时,将其写入文件取值为大于 1 1 1的整数时,表示缓冲区的大小,以字节为单位,指定缓冲区大小可以提高文件的读取和写入效率取值小于 0 0 0时,使用系统默认的缓冲策略 encoding:文件编码,是一个可选参数,默认值为None,表示使用系统默认编码,常用编码包括'utf-8'、'gbk'等errors:编码错误处理方案,是一个可选参数,默认值为None,表示使用系统默认的错误处理方案,常用的取值包括'strict'、'ignore'、'replace'等newline:换行符处理,是一个可选参数,默认为None,表示使用系统默认的换行符处理方式,常用的取值包括'\n'、'\r\n'等closefd:关闭文件描述符,默认值为True,表示在关闭文件的同时关闭文件描述符 示例 打开C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt路径下的文件 file = open('C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt')file_name = file.nameprint(file_name) C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt open()函数返回一个File对象,表示计算机中的一个文件,读取文件时需要文件已经存在,否则会引发FileNotFoundError异常
文件路径 文件路径是指文件在计算机上的位置,分为绝对路径和相对路径 绝对路径 绝对路径是指从根文件夹开始的路径在Windows系统下,C盘、D盘等为根文件夹,在该盘符中的文件需要从根文件夹开始往下一级一级进行查找在Linux系统下,/为根文件夹,所有文件的查找从/开始 示例 file = open('C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt')file_name = file.nameprint(file_name) C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt 相对路径 相对路径是指相对于程序当前工作目录的路径,比如存放当前程序的文件夹的绝对路径是C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/,如果使用相对路径,就可以不写这个路径,用.代替这个路径值 示例 file = open('./test.txt')file_name = file.nameprint(file_name) ./test.txt
打开文件的模式 open()函数默认的打开文件的模式为r,表示以只读模式打开文件 常用模式 模式注释r只读模式,默认模式w只写模式,写入的内容会覆盖文件原有的内容,如果文件不存在会创建文件再进行写入a追加模式,在文件末尾追加内容,如果文件不存在会创建文件再进行写入+读写模式,与其他模式组合使用,如r+,w+,a+等x创建模式,如果文件已经存在会引发异常t文本模式,默认模式b二进制模式,用于访问二进制文件,与其他模式组合使用,如rb,wb,ab,rb+等
读文件 open()函数返回的是一个File对象,使用File对象的read()方法可以读取文件内容,以字符串类型返回read()函数语法 read(self, n=-1) 参数n表示要读取的字符数,默认值为 − 1 -1 1,表示读取整个文件内容 取值大于 0 0 0时,读取文件的前 n n n个字符取值等于 0 0 0时,不会读取任何字符,返回空字符串取值小于 0 0 0时,读取整个文件内容 示例 在test.txt文件中提前写入Hello, world!,然后执行如下代码 file = open('./test.txt', 'r')res = file.read()print(res) Hello, world!
写文件 File对象的write()方法可以向文件写入内容,返回写入文件的字符串的长度 示例 file = open('./test.txt', 'w')len = file.write('Hello!')print(len)file = open('./test.txt', 'r')res = file.read()print(res) 6Hello!

w模式写入的内容会覆盖文件原有的内容

如果想要向文件中追加内容,则使用a模式

file = open('./test.txt', 'a')file.write('\nHello!')file = open('./test.txt', 'r')res = file.read()print(res) Hello!Hello! 通过在追加的字符串中使用换行符\n,可以实现文件中内容的换行
按行读写文件 readline()、readlines()、writelines()方法用于按行读写文件 readline() readline()方法默认情况下读取文件的一行内容,也可以指定在一行中读取的字符数 示例 file = open('./test.txt', 'w')file.write('Hello, world!\nWelcome!')file = open('./test.txt', 'r')res1 = file.readline()res2 = file.readline()res3 = file.readline()print(res1)print(res2)print(res3) Hello, world!Welcome! 可以看到,readline()方法读取当前文件指针所在的一行中的内容,以换行符\n区分文件的每一行,如果readline()方法返回一个空字符串,说明已经读取到文件的末尾 readlines() readlines()方法读取文件的每一行内容,返回一个列表,列表中的每个元素就是文件中的每一行内容 示例 file = open('./test.txt', 'w')file.write('Hello, world!\nWelcome!')file = open('./test.txt', 'r')res = file.readlines()print(res) ['Hello, world!\n', 'Welcome!'] writelines() writelines()方法向文件写入每一行内容,传入一个列表,列表中的每个元素就是写入文件中的每一行内容 示例 file = open('./test.txt', 'w')len = file.writelines(['Hello, world!\n', 'Welcome!'])file = open('./test.txt', 'r')res = file.read()print(res) Hello, world!Welcome!
关闭文件 一般情况下,一个文件对象在退出程序后会自动关闭,但是为了保证数据安全,还是要显示地写一个close()方法,用于关闭文件 示例 file = open('./test.txt')file_name = file.nameprint(file_name)file.close() ./test.txt finally语句 当使用try语句发生异常时,即使使用了close()方法,也可能不被执行可以将close()方法放在finally语句中,从而保证无论程序是否发生异常都会调用close()方法来关闭文件 示例 file = Nonepath = './test.txt'try:file = open(path, 'r')except FileNotFoundError as e:print(e)finally:if file:print(file.name)file.close() ./test.txt
上下文管理器 Python中的with语句可以帮助我们自动调用close()方法 示例 with open('./test.txt', 'r') as file:file_name = file.nameprint(file_name) ./test.txt

as关键字用于将文件对象赋值给变量file

当with语句中的代码运行结束时,会自动调用close()方法


自定义读写类 示例 class OpenFile:def __init__(self, file_name):self.file_obj = file_namedef __enter__(self):self.file_obj = open(self.file_obj, 'r', encoding='utf-8')return selfdef __exit__(self, exc_type, exc_val, exc_tb):self.file_obj.close()def my_read(self):print(self.file_obj.read())with OpenFile('./test.txt') as file:file.my_read() Hello, world!Welcome! 当被with语句调用时会自动触发__enter__()方法,用于打开文件当with语句中的代码运行结束时,会自动触发__exit__()方法,用于关闭文件自定义读写类展示了上下文管理器的底层实现
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接