如何解决Python 2.6中的多上下文`with`语句
如果没有向后兼容的等效方法,我将使多上下文with
语句成为一组单上下文嵌套with
语句来处理。
with open('a.txt') as a:
with open('b.txt') as b:
do_many_amazing_things(a, b)
编辑以解决您的修改:
如果您坚持不嵌套多余的with
语句,则可以始终使用contextlib
import contextlib
with contextlib.nested(open("a.txt"), open("b.txt")) as (a, b):
do_many_amazing_things(a,b)
至于使用with
将来导入的多个语句,with
据我所知这是不可能的
解决方法
我喜欢with
Python 2.7中多上下文语句的便利性:
with open('a.txt') as a,open('b.txt') as b:
do_many_amazing_things(a,b)
但是,我需要保持与2.6的兼容性。
with
是通过引入到2.5的__future__
,但是在文档中找不到关于多上下文版本被反向移植到2.6的任何信息。
有什么我想念的吗?
编辑:我知道可以嵌套with
语句。我在问是否可以使用多个with语句。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。