MST

星途 面试题库

面试题:Python中如何使用上下文管理器进行文件操作

请用Python代码展示如何使用`with`语句(上下文管理器)来读取一个文本文件的内容,并逐行打印。同时解释为什么使用上下文管理器在文件操作中是更好的选择。
44.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
with open('example.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip())

使用上下文管理器在文件操作中是更好的选择,原因如下:

  • 自动关闭文件:使用with语句时,当代码块执行完毕,无论是否发生异常,文件都会自动关闭。这样可以避免因忘记调用file.close()而导致的资源泄漏问题。例如在复杂的程序流程中,若没有with语句,在函数中途返回或者发生异常时,可能无法及时关闭文件,而with语句能确保文件一定会被关闭。
  • 异常安全:如果在文件操作过程中发生异常,with语句会自动处理异常并关闭文件。例如文件读取一半时发生了错误,with语句会确保文件正确关闭,不会造成文件处于一种未定义的状态。