With-As statement versus “=” Assignment?
本问题已经有最佳答案,请猛点这里访问。
使用的区别是:
1 | iFile = open("filename.txt",'r') |
对战
1 | with open("filename.txt",'r') as iFile: |
一个更有效还是允许更多的人拥有更多的访问方法?在我看来,WITHAS语句是临时的,在以下块结束后不引用。
第一个示例只打开文件并将文件对象分配给变量。您将需要自己管理关闭文件(理想情况下,在一个try finally块中,这样您就不会泄漏该文件)
第二个代码段使用上下文管理器在退出WITH块时自动关闭文件,包括返回或引发异常