【发布时间】:2019-08-13 20:39:38
【问题描述】:
当我的程序因打开的文件而崩溃时,它们会发生什么情况,它们会自动关闭吗?
我知道正确的方法是使用with,但我很好奇如果不使用会发生什么。
f = open('sample.txt', 'r')
# Example code that crashes the problem
a = 5 / 0
相比
with open('sample.txt', 'r') as f:
a = 5 / 0
如果打开的文件在程序崩溃时自动关闭,使用with 语法有什么好处?
提前谢谢你!
【问题讨论】:
-
在这两种情况下,“崩溃”的只是你的程序,而不是 Python 本身。
-
您是否计划让您的程序崩溃?
-
@ScottHunter 我想打开很多很多文件,而使用其他语法它会嵌套太深。所以我想切换到不使用它们。我想知道打开文件的行为,因为在开发和测试过程中,程序会崩溃很多。
-
那么打开的文件会发生什么? @quamrana
-
如果打开阅读,程序崩溃时不会发生太多事情。