Python 用As语句与“As”语句对比=&引用;分配
使用以下各项的区别是什么:Python 用As语句与“As”语句对比=&引用;分配,python,python-2.7,Python,Python 2.7,使用以下各项的区别是什么: iFile = open("filename.txt",'r') 对 with open("filename.txt",'r') as iFile: 一个更有效还是允许更多的人有更多的方法访问?在我看来,with as语句是临时的,在以下块结束后不引用。您的第一个示例只是打开文件并将文件对象分配给变量。您需要自己管理关闭文件(理想情况下,在try finally块中,这样您就不会泄漏文件) 第二个代码段使用上下文管理器在退出with块时自动关闭文件,包括返回或引发
iFile = open("filename.txt",'r')
对
with open("filename.txt",'r') as iFile:
一个更有效还是允许更多的人有更多的方法访问?在我看来,with as语句是临时的,在以下块结束后不引用。您的第一个示例只是打开文件并将文件对象分配给变量。您需要自己管理关闭文件(理想情况下,在try finally块中,这样您就不会泄漏文件)
第二个代码段使用上下文管理器在退出with块时自动关闭文件,包括返回或引发异常。第一个示例仅打开文件并将文件对象分配给变量。您需要自己管理关闭文件(理想情况下,在try finally块中,这样您就不会泄漏文件) 第二个代码段使用上下文管理器在退出with块时自动关闭文件,包括返回或引发异常该文件不像C中那样“泄漏”,但垃圾收集可能需要一段时间。该文件不像C中那样“泄漏”,但垃圾收集可能需要一段时间。