详解Python中的异常和文件读写
异常
异常是程序运行时可能遇到的错误或意外情况。在Python中,使用try-except语句来处理异常。
try-except语句
try-except语句包含两部分,try块和except块。try块中包含可能会引发异常的代码。如果try块中的代码引发了异常,就会跳到except块中的代码。如果try块中的代码没有引发异常,就会跳过except块。
try:
# 可能会引发异常的代码
except exceptionType:
# 异常处理代码
异常类型
在except语句中可以指定特定的异常类型来处理不同类型的异常。以下是一些常见的异常类型:
- Exception:所有异类类型的基类
- TypeError:对象的类型与需要的类型不一致
- ValueError:传给对象的参数类型正确但值错误
- ZeroDivisionError:除数为0
- IOError:输入输出错误
下面是一个示例,使用try-except语句来处理一个除数为0的错误。
try:
a = 5 / 0
except ZeroDivisionError:
print("除数不能为0!")
finally语句
try-except语句也可以包含finally块。无论try块中的代码是否引发异常,都会在执行完try和except块之后执行finally块中的代码。
try:
# 可能会引发异常的代码
except exceptionType:
# 异常处理代码
finally:
# 无论如何都会执行的代码
文件读写
Python中提供了一些内置函数来处理文件的输入和输出。文件读写是与操作系统和文件系统交互的部分,需要小心处理。
打开文件
Python中使用open()函数来打开文件。open()函数需要指定文件名和打开模式等参数。
# 打开文件时使用绝对路径和相对路径均可
file = open("test.txt", "r")
# 打开文件后必须关闭文件,否则可能发生缓冲区写入失败等异常现象
file.close()
打开文件时指定的模式有以下几种:
- "r":读取模式,默认值。如果文件不存在,就会引发异常。
- "w":写入模式,如果文件不存在则创建文件,如果文件已存在就清空文件。
- "a":追加模式,如果文件不存在则创建文件,如果文件已存在就向文件末尾添加内容。
- "x":独占写模式,如果文件已存在则引发异常。
- "b":二进制模式。
- "t":文本模式,默认值。
# 打开文件并写入内容
file = open("test.txt", "w")
file.write("Hello world!")
file.close()
读取文件
Python中提供了多种读取文件的方法。以下为常用方法。
read()
# 读取整个文件内容
file = open("test.txt", "r")
content = file.read()
print(content)
file.close()
readline()
# 逐行读取文件内容
file = open("test.txt", "r")
for line in file.readline():
print(line)
file.close()
写入文件
Python中提供了多种写入文件的方法。以下为常用方法。
write()
# 向文件中写入内容
file = open("test.txt", "w")
file.write("Hello world!")
file.close()
writelines()
# 向文件中写入多行内容
file = open("test.txt", "w")
lines = ["Hello\n", "world\n"]
file.writelines(lines)
file.close()
以上是Python中异常和文件读写的详细讲解。通过对异常和文件读写的理解可以有效地较少Python程序中的错误和异常,提升程序的健壮性。示例如下:
try:
file = open("test.txt", "x")
file.write("Hello world!")
except FileExistsError:
print("文件已存在!")
finally:
file.close()
该代码会尝试向文件中写入一行内容,如果文件已存在就会引发FileExistsError异常。我们通过try-except-finally语句来处理这个异常,保证程序的正常运行。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解python中的异常和文件读写 - Python技术站