迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python打开文件异常处理

作者:迹忆客 最近更新:2023/06/13 浏览次数:

要打开文件,Python 有一个名为 open() 的内置函数,用户可以通过它读取或写入文件,但是如果在任何情况下文件丢失或编译器无法访问,那么,我们 遇到 FileNotFoundError。 本文将介绍如何处理 Python 的文件异常。


Python open() 文件函数

此函数打开文件,加载所有内容,并将其作为文件对象返回。

一般语法:

open(filename, mode='r')

这个函数有两个参数。 一种是文件名或整个文件路径; 另一个是访问模式,它决定必须对文件执行什么操作。

有多种模式,包括r(只读)、w(只写)、a(append-only)、rb(Read-only in Binary format)等。


Python 打开文件异常

假设我们试图打开一个不存在的文件或者错误地输入了错误的文件路径,导致了 FileNotFound 异常。

示例代码:

file1 = open("myfile.txt",'r')
# Reading from file
print(file1.read())
file1.close()

输出:

FileNotFoundError                         Traceback (most recent call last)
C:\Users\LAIQSH~1\AppData\Local\Temp/ipykernel_4504/3544944463.py in <module>
----> 1 file1 = open("myfile.txt",'r')
      2
      3 # Reading from file
      4 print(file1.read())
      5

FileNotFoundError: [Errno 2] No such file or directory: 'myfile.txt'

我们看到 open 函数给出了一个错误,提示没有这样的文件或目录,因为编译器发现要打开的文件丢失了。


使用 try-except 处理 Python 读取文件时的异常

解决此丢失文件问题的最佳方法之一是代码含糊不清并包含一些错误。 我们将那部分代码包装在 try 块中。

try 块首先执行。 当找不到文件时,会引发异常。

try 块中的剩余代码被跳过,控件跳转到 except 块。 在 except 块中,我们提到了引发的错误类型。

异常在 except 块中处理。 如果 try 块中没有异常,except 子句将不会执行。

考虑以下示例。

try:
    file1 = open("myfile.txt",'r')
# Reading from file
    print(file1.read())
    file1.close()
except FileNotFoundError:
    print("FileNotFoundError successfully handled")

输出:

FileNotFoundError successfully handled

由于 try 块中有错误,except 块中的语句被打印在输出中。 因此,通过使用这个技巧,我们可以通过在输出中显示任何消息来处理代码中的异常,尽管收到错误消息。

上一篇:Python 绘图 CSV

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 绘图 CSV

发布时间:2023/06/13 浏览次数:67 分类:Python

CSV 代表逗号分隔值,一种存储结构化数据的流行格式。 CSV 文件包含具有行和列的表格形式的数据。我们经常需要可视化存储在 CSV 文件中的数据。 为此,Python 提供了不同类型的数据可视化图

Python 绘制决策边界

发布时间:2023/06/13 浏览次数:52 分类:Python

为此,我们将使用 Sklearn 库提供的内置预处理数据(无缺失数据或异常值)数据集包来绘制数据的决策边界。 然后我们将使用 Matplotlib 的库来绘制决策边界。

Python 中的 Soundex

发布时间:2023/06/13 浏览次数:184 分类:Python

Python 的 soundex 函数是将文本字符串转换为 Soundex 代码的函数。 它有助于在数据库中索引名称或查找相似名称。名字的 Soundex 代码是基于它的发音,而不是它的拼写。 它是比较发音不同但拼写准

Python 读取 Outlook 电子邮件

发布时间:2023/06/13 浏览次数:170 分类:Python

本文将讨论如何借助 win32com.client 模块从 outlook 应用程序读取电子邮件。 我们还学习了如何在 Python 中过滤具有不同属性的电子邮件。使用 win32com.client 模块从 Outlook 应用程序读取电子邮件

Python 多处理日志记录

发布时间:2023/06/13 浏览次数:150 分类:Python

本文将讨论 multiprocessing 的概念。 在此之后,我们将讨论 Python 中的多处理和使用 Python 代码进行多处理的日志处理。

Python multiprocessing 共享对象

发布时间:2023/06/13 浏览次数:81 分类:Python

在 Python 中,共享内存多处理由连接多个处理器组成,但这些处理器必须能够直接访问系统的主内存。 这将允许所有连接的处理器访问它们使用或创建的其他处理器数据。

在 Python Lambda 中使用 Await

发布时间:2023/06/13 浏览次数:143 分类:Python

在 Python 中,要实现异步编程,我们可以将 async/await 特性与函数一起使用,但我们使用 lambda 函数来实现。 本文将讨论在 Python lambda 函数中使用 await 的可能性。Python Lamda 中没有async/await lambda

Python Lambda 闭包

发布时间:2023/06/13 浏览次数:141 分类:Python

本篇文章将介绍在 Python 中使用 lambda 函数和闭包。在 Python 中使用 Lambda 函数的语法

Python 中的最长公共子序列

发布时间:2023/06/02 浏览次数:147 分类:Python

本篇文章讲介绍在 Python 中查找两个序列之间最长公共子序列的长度。使用 Naive 方法在 Python 中查找最长公共子序列;使用动态规划在 Python 中查找最长公共子序列

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便