with statement 打开文件

迷宫的代码
class Maze:
    def __init__(self,mazeFileName):
        rowsInMaze = 0
        columnsInMaze = 0
        self.mazelist = []
        mazeFile = open(mazeFileName,'r')  #这里为什么不用with keyword 啊?
        rowsInMaze = 0
        for line in mazeFile:
       

这是听北大数据结构课程时递归部分,迷宫的代码,我想知道打开文件时为什么不用with keyword。如果用,怎么在class内部使用

哪里来的keyword ,keyword 都没定义,with什么呀
你可以使用with open(mazeFileName,'r') as mazeFile,这样可以防止文件忘记关闭或抛出错误导致关闭文件的那一行代码没有执行
如果你需要一个线程锁,可以定义在self里

因为使用with打开文件的语法是上下文方式,使用with打开文件,走出with的结构体,文件会自动关闭,所以下面的函数如果想用的话,就不能用了。
使用open不会自动关闭,下面想使用的话也是可以用的,不用了之后手动关闭