是否有可能在python中编写一个不需要传递给它的任何参数的lambda函数?例如,有没有办法翻译这个功能:
def file_opener():
f = open('filename.txt').read()
return f
或没有传递输入的任何其他函数 变成lambda表达式?
答案 0 :(得分:3)
views.py
完美无缺,所以是的,是的。
答案 1 :(得分:1)
试试吧!
>>> open('filename.txt', 'w').write('this is filename.txt contents')
29
>>> def call_this(fctn):
... return fctn()
...
>>> print(call_this(lambda: open('filename.txt').read()))
this is filename.txt contents
它有效
答案 2 :(得分:1)
试试这个(推荐不存在硬编码):
file = lambda f: open(f).read()
print (file('open.txt'))
如果您不想将filename作为参数传递,请使用:
f = lambda: open('open.txt').read()
print (f())