0
with open(filename, 'r') as fp:
do something
fp.close()
我知道开放关闭文件将调用退出将调用close方法关闭打开的文件。但是我看到很多人仍然试图再次关闭文件,python并不打算关闭一个已关闭的文件?当你使用as作为文件时,这是最佳实践还是最安全的方式?我需要后再次关闭文件开放文件FP在Python
with open(filename, 'r') as fp:
do something
fp.close()
我知道开放关闭文件将调用退出将调用close方法关闭打开的文件。但是我看到很多人仍然试图再次关闭文件,python并不打算关闭一个已关闭的文件?当你使用as作为文件时,这是最佳实践还是最安全的方式?我需要后再次关闭文件开放文件FP在Python
绝对不应该在with
块结束之后调用fp.close()
,该块会自动关闭它。您显示的代码只是简单的。它应该是:
with open(filename, 'r') as fp:
do something
如果将fp.close()语句放在with块中,该怎么办?是否有权关闭该文件?只是好奇。 – bhansa
它只是简单地关闭文件,而不是''with'块被退出的时间点。在一个关闭的文件上调用'.close()'不是错误。 –
@Bhansa:如果你使用'with',通常你不应该明确地调用'close()'。 –