python文件操作和异常

VOL.174314 views

1

Mar. 2024

学习打开、读取、写入、关闭文件的方法

在 Python 中,文件是存储在磁盘上的数据集合,可以使用 Python 内置的文件操作函数打开、读取、写入和关闭文件。下面分别介绍一下如何打开、读取、写入和关闭文件。

1.打开文件

打开文件使用内置的 open 函数,语法格式如下:

文件对象 = open(文件名, 打开方式)

其中,文件名是要打开的文件的名称或路径,打开方式是指定打开文件的模式,包括读取模式(r)、写入模式(w)、追加模式(a)等。下面举一个例子,打开一个名为 test.txt 的文件,使用读取模式:

file = open("test.txt", "r")

在这个例子中,使用 open 函数打开一个名为 test.txt 的文件,并使用读取模式。

2.读取文件

读取文件使用文件对象的 read 方法,语法格式如下:

内容 = 文件对象.read()

其中,文件对象是打开的文件对象,read 方法将读取文件中的所有内容,并将内容存储在变量中。下面举一个例子,读取刚才打开的 test.txt 文件中的内容:

file = open("test.txt", "r")
content = file.read()
print(content)

在这个例子中,使用 open 函数打开一个名为 test.txt 的文件,并使用读取模式。然后使用 read 方法读取文件中的所有内容,并将内容存储在变量 content 中,最后输出内容。

需要注意的是,读取文件时需要注意文件的编码和换行符的处理,避免出现不必要的错误。

3.写入文件

写入文件使用文件对象的 write 方法,语法格式如下:

文件对象.write(内容)

其中,文件对象是打开的文件对象,内容是要写入文件的内容。下面举一个例子,向刚才打开的 test.txt 文件中写入一行文字:

file = open("test.txt", "w")
file.write("Hello, world!")
file.close()

在这个例子中,使用 open 函数打开一个名为 test.txt 的文件,并使用写入模式。然后使用 write 方法向文件中写入一行文字,并使用 close 方法关闭文件。

需要注意的是,写入文件时需要注意文件的编码和换行符的处理,避免出现不必要的错误。

4.关闭文件

关闭文件使用文件对象的 close 方法,语法格式如下:

文件对象.close()

其中,文件对象是要关闭的文件对象。下面举一个例子,关闭刚才打开的 test.txt 文件:

file = open("test.txt", "r")
content = file.read()
file.close()

在这个例子中,使用 open 函数打开一个名为 test.txt 的文件,并使用读取模式。然后使用 read 方法读取文件中的所有内容,并将内容存储在变量 content 中。最后使用 close 方法关闭文件。

需要注意的是,关闭文件是一个好习惯,避免程序占用文件资源,同时也可以避免文件损坏和数据丢失的情况。

在实际开发中,文件操作是程序的基本功能之一,可以帮助开发者读写和管理文件,实现更加丰富和复杂的程序功能。可以使用文件操作来读取和写入数据文件、配置文件、日志文件等,对程序的开发和调试都具有重要的意义。

了解异常处理的概念和语法

在 Python 中,try/except/finally 语句是一种用于处理可能出现异常情况的语句,可以帮助程序在出现错误时进行恰当的处理或错误提示。try/except/finally 语句可以分别用于捕捉异常、处理异常和最终处理,下面分别介绍一下其用法。

1.try 语句

try 语句用于包含可能出现异常的代码块,语法格式如下:

try:
    可能出现异常的代码块
except:
    处理异常的代码块

其中,try 语句用于包含可能出现异常的代码块,except 语句用于捕捉并处理异常。下面举一个例子,使用 try/except 语句处理除零错误:

try:
    x = 1 / 0
except:
    print("除零错误")

在这个例子中,使用 try 语句包含一个除零操作,由于除零操作会引发 ZeroDivisionError 异常,因此使用 except 语句捕捉并处理该异常,然后使用 print 函数输出错误信息。

2.except 语句

except 语句用于捕捉并处理异常,语法格式如下:

try:
    可能出现异常的代码块
except 异常类型1:
    处理异常类型1的代码块
except 异常类型2:
    处理异常类型2的代码块
...

其中,except 语句可以包含多个异常类型,用于分别处理不同类型的异常。下面举一个例子,使用 try/except 语句处理文件读取异常:

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

在这个例子中,使用 try 语句打开一个名为 test.txt 的文件,并读取其中的内容。如果文件不存在,则会引发 FileNotFoundError 异常;如果文件读取错误,则会引发 IOError 异常。因此使用 except 语句分别处理这两种异常,并输出相应的错误信息。

3.finally 语句

finally 语句用于指定最终处理代码块,无论是否出现异常都会执行,语法格式如下:

try:
    可能出现异常的代码块
except:
    处理异常的代码块
finally:
    最终处理代码块

其中,finally 语句用于指定最终处理代码块,无论是否出现异常都会执行。下面举一个例子,使用 try/except/finally 语句处理文件的读取和关闭:

try:
    file = open("test.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("文件不存在")
except IOError:
    print("文件读取错误")
finally:
    if 'file' in locals():
        file.close()

在这个例子中,使用 try 语句打开一个名为 test.txt 的文件,并读取其中的内容。如果文件不存在,则会引发 FileNotFoundError 异常;如果文件读取错误,则会引发 IOError 异常。因此使用 except 语句分别处理这两种异常,并输出相应的错误信息。最后使用 finally 语句指定最终处理代码块,无论是否出现异常都会执行,并使用 close 方法关闭文件。

需要注意的是,在使用 try/except/finally 语句时,应该尽量捕捉并处理特定类型的异常,避免捕捉不必要的异常和出现未知错误的情况。同时,在处理异常时应该尽量避免出现死循环、内存泄漏等问题,保证程序的稳定和可靠性。

在实际开发中,try/except/finally 语句是程序开发中不可或缺的一部分,可以帮助开发者更加灵活地控制程序的流程和错误处理。可以使用 try/except/finally 语句来处理文件读写错误、网络连接错误、数据类型转换错误等常见的异常情况,提高程序的健壮性和可维护性。