python之操作文件异常处理try语句

在文件操作时,很多方法都会引起异常,比如打开文件、移动文件指针等,所以我要做异常处理

打开文件的异常

如果文件不存在 ,open()函数就会抛出FileNotFoundError异常,如下:

f=open('d:\\123.txt','r',encoding='UTF-8')

抛异常如下,给出错误码和详细的信息:

Traceback (most recent call last):
  File "c:/Users/mym/Desktop/python/file_io.py", line 3, in <module>
    f=open('c:/users/mym/desktop/11.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'c:/users/mym/desktop/11.txt'

处理异常-try...finally语句

用try...finally...语句处理异常,如下:

try:
    f=open('c:/users/mym/desktop/1.txt','r')
    print(f.read())
finally:
    if f!=None:
        f.close()

注意:
用完文件后要及时关闭,所以要有finally语句,用于 关闭文件,因为finally语句 一定会执行

except语句

如果对异常对象做处理,比如打印异常信息,在上面基础上 加上except语句

f=None #为什么要有此行代码
try:
    f=open('c:/users/mym/desktop/1.txt','r')
    print(f.read())
except FileNotFoundError as fnfe:
    print(fnfe)
finally:
    if f!=None:
        f.close()

总结

一般情况下,操作文件的异常处理中,必须 要有异常处理语句,以确保 及时关闭文件。但不一定用try...finally语句,后面还会讲到with语句


原文出处:/show_1EF2O8j9sQwQ.html