打开未退出的文本文件时的异常处理



首先,这是我的代码::

def tryfirst():
    try:
        f = open('testfile.txt')
    except FirstNotFound as e:
        trysecond()
    else:
        print(f.read())
        f.close()
def trysecond():
    try:
        f = open('test_file.txt')
    except StillNotFound as e:
        print(e)
    else:
        print(f.read())
        f.close()
tryfirst()

我要完成什么?

我希望我的程序尝试打开一个不存在的文本文件(testfile.txt(,在尝试该文本文件后,如果失败,它将移动到下一个确实存在的文本文件(test_file.txt(并打印文件的内容。我希望它通过调用第一个函数 tryfirst 来启动程序,就像在代码底部所做的那样。

当我尝试运行它时,我得到以下内容,但不确定为什么::

NameError: global name 'FirstNotFound' is not defined

您只是无法命名您的异常。来自python的异常文档是重要的信息来源。在您的情况下,将FirstNotFoundStillNotFound替换为IOError

您没有名为FirstNotFound您正在寻找的是IOError

这对

我有用:-

def readFile():
    try:
        f = open('testfile1.txt')
        print(f.read())
        f.close()
    except OSEroor as e:
        f = open('testfile2.text')
        print(f.read())
        f.close()

最新更新