Python中的“with”关键字Lambda函数

时间:2013-04-26 03:21:51

标签: python lambda

Python的with关键字如何在lambda函数中表示?请考虑以下事项:

def cat (filename):
    with open(filename, 'r') as f:
        return f.read()

尝试lambda实现失败:

cat = lambda filename: with open(filename, 'r') as f: return f.read()

2 个答案:

答案 0 :(得分:7)

  

lambda_form ::= "lambda" [parameter_list]: expression

你不能,with是一个陈述,而lambda只返回表达式。

答案 1 :(得分:1)

以防万一有人在寻找诀窍:

lambda filename: [(f.read(), f.close()) for f in [open(filename)]][0][0]