2021-07-10 14:21:13
Python的文件和异常处理是编程中非常重要的部分,下面将详细介绍这两个方面的知识。
文件操作1. 打开文件在Python中,使用内置的open()函数来打开文件。该函数的基本语法如下:
file_object = open(file_name, mode, encoding)'r':读取(默认)。
'w':写入(会先截断之前的内容)。
'x':写入,如果文件已经存在会产生异常。
'a':追加,将内容写入到已有文件的末尾。
'b':二进制模式。
't':文本模式(默认)。
'+':更新(既可以读又可以写)。
读取文件有多种方法:
一次性读取整个文件:
with open('file.txt', 'r', encoding='utf-8') as f: content = f.read() print(content)逐行读取:
with open('file.txt', 'r', encoding='utf-8') as f: for line in f: print(line, end='')读取所有行到列表:
with open('file.txt', 'r', encoding='utf-8') as f: lines = f.readlines() print(lines)写入文件同样有多种方法:
覆盖写入:
with open('file.txt', 'w', encoding='毁数哪utf-8') as f: f.write('Hello, World!')追加写入:
with open('file.txt', 'a', encoding='utf-8') as f: f.write('nAppended text.')对于二进制文件(如图片),使用'rb'或'wb'模式:
# 读取二进制文件with open('image.jpg', 'rb') as f: data = f.read()# 写入二进制文件with open('copy.jpg', 'wb') as f: f.write(data)5. 使用with语句with语句可以确保文件在使用后被正确关闭,即使在发生异常的情况下也是如此:
with open('file.txt', 'r', encoding='utf-8') as f: content = f.read() # 文件操作# 文件自动关闭异常处理在Python中,异常处理是通过try、except、else和finally语句实现的。
1. 基本异常处理try: # 可能引发异常的代码 result = 10 / 0except ZeroDivisionError: # 异常处理代码 print("不能除以零!")2. 处理多个异常try: # 可能引发异常的代码 file = open('nonexistent.txt', 'r')except FileNotFoundError: print("文件未找到!")except IOError: print("读写文件时出错!")3. 捕获所有异常try: # 可能引发异常的代码 x = int('abc')except Exception as e: print(f"发生异常:{e}")4. else和finally子句可以通过继承Exception类来创建自定义异常:
class MyCustomError(Exception): passtry: raise MyCustomError("这是一个自定义异常")except MyCustomError as e: print(f"捕获到自定义异常:{e}")总结通过掌握这些知识,可以有效地进行文件操作和异常处理,提高代码的可靠性和可维护性。