作者:Peaches小窝 | 来源:互联网 | 2024-12-14 16:30
目录
- 一、文件基本操作
- 1.1 创建文件
- 1.2 写入数据
- 1.3 读取数据
- 1.4 读取二进制文件
- 1.5 删除文件
- 1.6 文件重命名
- 1.7 创建文件夹
- 1.8 获取当前工作目录
- 1.9 处理图像文件
- 二、异常处理
- 2.1 常见异常类型
- 2.2 捕捉异常
- 2.3 使用 try/finally 结构
- 2.4 异常的传播
- 2.5 触发异常
- 2.6 自定义异常
- 三、总结
一、文件基本操作
1.1 创建文件
使用 Python 的内置函数 open()
可以创建文件,示例如下:
file = open('example.txt', 'w')
上述代码中的 'w' 参数表示以写入模式打开文件,如果文件不存在,则会创建一个新文件。
1.2 写入数据
向文件中写入数据同样使用 open()
函数,然后调用文件对象的 write()
方法:
with open('example.txt', 'w') as file:
file.write('Hello, world!')
这里的 with
语句确保文件在操作完成后自动关闭。
1.3 读取数据
读取文件内容可以通过 read()
或 readlines()
方法实现:
with open('example.txt', 'r', encoding='utf-8') as file:
cOntent= file.read()
lines = file.readlines()
read()
方法读取整个文件内容,而 readlines()
方法则返回包含每一行内容的列表。
1.4 读取二进制文件
对于二进制文件,如图片或音频文件,需要使用 'rb' 或 'wb' 模式打开文件:
with open('image.jpg', 'rb') as file:
binary_data = file.read()
1.5 删除文件
删除文件需要导入 os
模块,并使用 remove()
函数:
import os
os.remove('example.txt')
1.6 文件重命名
文件重命名同样需要使用 os
模块中的 rename()
函数:
os.rename('old_name.txt', 'new_name.txt')
1.7 创建文件夹
创建文件夹可以使用 os.mkdir()
函数:
os.mkdir('new_folder')
1.8 获取当前工作目录
获取当前工作目录可以使用 os.getcwd()
函数:
current_dir = os.getcwd()
1.9 处理图像文件
处理图像文件时,通常需要读取和写入二进制数据。例如,复制一张图片文件:
def copy_image(src, dst):
try:
with open(src, 'rb') as src_file:
with open(dst, 'wb') as dst_file:
dst_file.write(src_file.read())
except FileNotFoundError:
print(f"源文件 {src} 未找到。")
except IOError:
print("读写文件时发生错误。")
else:
print("文件复制成功。")
copy_image('source.jpg', 'destination.jpg')
二、异常处理
2.1 常见异常类型
Python 中常见的异常类型包括但不限于:ValueError
, TypeError
, IndexError
, KeyError
等。每种异常类型都对应特定的错误情况。
2.2 捕捉异常
使用 try...except
结构可以捕获并处理运行时可能出现的异常:
try:
# 可能引发异常的代码
except ValueError:
# 处理 ValueError 异常
except Exception as e:
# 处理其他所有类型的异常
print(f"发生了一个错误:{e}")
2.3 使用 try/finally 结构
try...finally
结构确保无论是否发生异常,某些必要的清理操作都会被执行:
try:
# 可能引发异常的代码
finally:
# 无论是否发生异常都会执行的代码
2.4 异常的传播
如果在一个函数中抛出的异常没有被捕获,它会向上层调用者传播,直到被处理或导致程序崩溃。
2.5 触发异常
使用 raise
语句可以手动抛出异常:
raise ValueError("这是一个值错误")
2.6 自定义异常
可以通过继承 Exception
类来定义自己的异常类:
class MyCustomError(Exception):
def __init__(self, message):
super().__init__(message)
这样可以在需要的时候抛出自定义异常:
raise MyCustomError("这是一个自定义错误")
三、总结
本文介绍了 Python 中文件操作的基本方法和异常处理的策略。通过掌握这些技能,开发者可以更好地管理和保护数据,同时提高程序的稳定性和可靠性。希望本文对您有所帮助,如果您有任何疑问或建议,欢迎留言交流。