1.open()
这样直接打开文件,如果出现异常(如,读取文件过程中文件不存在),则直接出现错误,close命令无法执行,文件无法关闭。
file = open("text.txt","r") for line in file.readlines(): print line file.close()
推荐学习《》
2. with open() as file:
好处:用with语句的好处就是到达语句末尾时会自动关闭文件,即使出现异常。
with语句实际上是一个非常通用的结构,允许你使用所谓的上下文管理器。上下文管理器是支持两个方法的对象:_enter_和 _exit_。
方法_enter_不接受任何参数,在进入with语句时被调用,其返回值被赋给关键字as后面的变量。
方法_exit_接受三个参数:异常类型、异常对象和异常跟踪。它在离开方法时被调用(通过前述参数将引发的异常提供给它)。如果_exit_返回False,将抑制所有的异常。
文件也可用作上下文管理器。它们的方法_enter_返回文件对象本身,而方法_exit_关闭文件。
with open("test.txt","r") as file: for line in file.readlines(): print line
3. try-except-finally
with语句作用效果相当于上面的try-except-finally
file= open("test.txt","r") try: for line in file.readlines(): print line except: print "error" finally: file.close()