2016-06-01 70 views
0
with open(filename, 'r') as fp: 
    do something 
fp.close() 

我知道开放关闭文件将调用退出将调用close方法关闭打开的文件。但是我看到很多人仍然试图再次关闭文件,python并不打算关闭一个已关闭的文件?当你使用as作为文件时,这是最佳实践还是最安全的方式?我需要后再次关闭文件开放文件FP在Python

回答

3

绝对不应该在with块结束之后调用fp.close(),该块会自动关闭它。您显示的代码只是简单的。它应该是:

with open(filename, 'r') as fp: 
    do something 
+0

如果将fp.close()语句放在with块中,该怎么办?是否有权关闭该文件?只是好奇。 – bhansa

+0

它只是简单地关闭文件,而不是''with'块被退出的时间点。在一个关闭的文件上调用'.close()'不是错误。 –

+0

@Bhansa:如果你使用'with',通常你不应该明确地调用'close()'。 –

相关问题