'with'在pre python 2.5中

时间:2011-07-12 00:41:40

标签: python legacy with-statement

是否有一种方法可以将python'with'语句转换为可以在以前版本的python中使用的格式。 4个月的工作紧紧抓住这个问题。与之前的同行相比,效率更高,但效率在这里并不重要。

2 个答案:

答案 0 :(得分:3)

使用try: except: finally:

finally:子句可以处理关闭。

有关替代方案,请参阅http://www.python.org/dev/peps/pep-0343/

答案 1 :(得分:0)

正如S.Lott所说,尝试并最终应该处理with子句的工作。我不确定with实际上是否捕获了任何错误,所以假设:

with open(file_name,mode) as name: # Or whatever expression
    do_this()

可以替换为

try:
   name = open(filename,mode)   # Or whatever expression
   do_this()
finally:
   name.close()