Python中的文件操作和异常处理

在Python中,文件操作是一项非常常见的任务。你可以使用Python的内置函数来打开、读取、写入和关闭文件。同时,为了确保文件操作的稳定性和可靠性,你还需要学习如何在Python中处理异常。

文件操作

  1. 打开文件

使用open()函数可以打开文件。这个函数需要两个参数:文件名和模式。模式可以是'r'(只读)、'w'(写入,如果文件已存在则会被覆盖)、'a'(追加,如果文件已存在则会在文件末尾添加内容)或'x'(创建新文件用于写入,如果文件已存在则会引发异常)。

ini 复制代码
python复制代码
	file = open('example.txt', 'r')
  1. 读取文件

使用read()方法可以从文件中读取内容。

ini 复制代码
python复制代码
	content = file.read()
  1. 写入文件

使用write()方法可以向文件中写入内容。

lua 复制代码
python复制代码
	file = open('example.txt', 'w')  

	file.write('Hello, world!')
  1. 关闭文件

使用close()方法可以关闭文件。在关闭文件之后,你就不能再对其进行读写操作了。

go 复制代码
python复制代码
	file.close()

异常处理

在文件操作中,可能会遇到各种异常,例如文件不存在、没有读写权限等。Python提供了异常处理机制,可以在遇到这些问题时进行处理。

python 复制代码
python复制代码
	try:  

	    file = open('example.txt', 'r')  

	    content = file.read()  

	    print(content)  

	except FileNotFoundError:  

	    print('文件不存在')  

	except PermissionError:  

	    print('没有读写权限')  

	finally:  

	    if file:  

	        file.close()

在这个例子中,我们使用了try/except语句来捕获可能发生的异常。如果open()函数引发了FileNotFoundErrorPermissionError异常,那么对应的except块就会被执行。finally块中的代码无论是否发生异常都会被执行,所以通常用来清理资源,例如关闭文件。

你也可以使用with语句来自动处理文件的打开和关闭,这样就不需要显式调用close()方法了。

python 复制代码
python复制代码
	try:  

	    with open('example.txt', 'r') as file:  

	        content = file.read()  

	        print(content)  

	except FileNotFoundError:  

	    print('文件不存在')  

	except PermissionError:  

	    print('没有读写权限')

在这个例子中,with语句会在代码块执行完毕后自动关闭文件,无论是否发生异常。这使得代码更加简洁,也减少了出错的可能性。

相关推荐
golang学习记3 分钟前
用 Go + Redis + HTMX 手撸一个超快 URL 短链接服务 🚀
后端
codervibe3 分钟前
Spring Boot 热启动配置实战:从手动重启到秒级反馈
spring boot·后端
skyeeeeee4 分钟前
kubeadm安装k8s集群
后端·kubernetes
chxii1 小时前
Spring Boot 响应给客户端的常见返回类型
java·spring boot·后端
韩立学长1 小时前
【开题答辩实录分享】以《植物爱好者交流平台的设计与实现》为例进行答辩实录分享
spring boot·后端·mysql
Wzx1980121 小时前
go基础语法练习
开发语言·后端·golang
sp421 小时前
漫谈 Java 轻量级的模板技术:从字符串替换到复杂模板
java·后端
2301_795167201 小时前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
草莓熊Lotso2 小时前
C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
前端·网络·c++·人工智能·后端·python·功能测试
一 乐2 小时前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
开发语言·前端·数据库·vue.js·spring boot·后端·旅游