Python with open 使用技巧
在使用Python处理文件的是,对于文件的处理,都会经过三个步骤:打开文件->操作文件->关闭文件。但在有些时候,我们会忘记把文件关闭,这就无法释放文件的打开句柄。这可能觉得有些麻烦,每次打开文件之后都要记得关闭,但我们按照以下方式,就可以避免忘记关闭文件操作的问题。
try: f = open('stanley_liu.log', 'w') #'w'模式打开,写文件 print f.read() finally: #操作文件后执行此代码块 if f: f.close()
以上的这种方法确实能够避免忘记关闭文件的问题,但是每次都很繁琐,为了简化这一操作,就可使用with open来实现。这和前面的try ... finally
是一样的,但是代码更佳简洁,并且不必调用f.close()
方法。
with open('stanley_liu.log','w') as t: t.write('This is a test line') #和for、if一样,这里的代码保持缩进
这种写法给人的感觉Python味十足,也更符合Pythonic的风格。对于with关键字,它可以在打开某些东西后,不管里面做了什么,with代码块结束之后,就可以调用这个对象的close函数,能够有效的避免忘记关闭文件的操作。