Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用As语句与“As”语句对比=&引用;分配_Python_Python 2.7 - Fatal编程技术网

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中那样“泄漏”,但垃圾收集可能需要一段时间。