欢迎访问宙启技术站
智能推送

Python中常见的I/O异常及其处理方法

发布时间:2023-12-27 23:30:59

Python 中常见的 I/O 异常包括:

1. IOError:文件读写错误。

2. FileNotFoundError:文件不存在错误。

3. PermissionError:没有权限操作文件。

4. EOFError:文件末尾错误。

5. ConnectionError:连接错误。

6. TimeoutError:连接超时错误。

下面是这些异常的处理方法和使用例子:

1. IOError 异常处理:

try:
    file = open("nonexistent.txt", "r")
    content = file.read()
    file.close()
except IOError:
    print("文件读取错误")

在这个例子中,我们试图打开一个不存在的文件。当代码执行到 open() 函数时,会发生 IOError 异常。我们通过在 try 代码块中执行文件读取操作,然后在 except IOError 块中处理异常。

2. FileNotFoundError 异常处理:

try:
    file = open("nonexistent.txt", "r")
    content = file.read()
    file.close()
except FileNotFoundError:
    print("文件不存在")

这个例子中,我们同样试图打开一个不存在的文件。当代码执行到 open() 函数时,会发生 FileNotFoundError 异常。我们通过在 try 代码块中执行文件读取操作,然后在 except FileNotFoundError 块中处理异常。

3. PermissionError 异常处理:

try:
    file = open("restricted.txt", "w")
    file.write("Some content")
    file.close()
except PermissionError:
    print("没有权限操作文件")

这个例子中,我们试图向一个只读文件写入内容。当代码执行到 open() 函数时,会发生 PermissionError 异常。我们通过在 try 代码块中执行文件写入操作,然后在 except PermissionError 块中处理异常。

4. EOFError 异常处理:

try:
    number = int(input("请输入一个数字:"))
except EOFError:
    print("输入错误")

在这个例子中,我们通过 input() 函数获取用户输入的数字。当用户输入结束时(例如按下了 Ctrl+D 键),会发生 EOFError 异常。我们通过在 try 代码块中执行输入操作,然后在 except EOFError 块中处理异常。

5. ConnectionError 异常处理:

import requests

try:
    response = requests.get("http://www.example.com")
    print(response.status_code)
except ConnectionError:
    print("无法连接")

在这个例子中,我们使用 requests 库发送一个 HTTP GET 请求。当代码执行到 requests.get() 函数时,如果出现连接错误,就会发生 ConnectionError 异常。我们通过在 try 代码块中发送请求并获取响应,然后在 except ConnectionError 块中处理异常。

6. TimeoutError 异常处理:

import requests

try:
    response = requests.get("http://www.example.com", timeout=1)
    print(response.status_code)
except TimeoutError:
    print("连接超时")

在这个例子中,我们同样使用 requests 库发送一个 HTTP GET 请求,并设置了一个较短的超时时间。当请求超过指定的超时时间时,就会发生 TimeoutError 异常。我们通过在 try 代码块中发送请求并获取响应,然后在 except TimeoutError 块中处理异常。

以上是 Python 中常见的 I/O 异常及其处理方法的例子。根据具体的应用场景和代码逻辑,还可以根据这些例子对其他的 I/O 异常进行处理。