【发布时间】:2011-08-27 12:13:53
【问题描述】:
当我运行以下脚本时,两个 lambda 都在同一个文件上运行 os.startfile() —— junk.txt。我希望每个 lambda 都使用创建 lambda 时设置的值“f”。有没有办法让它按我的预期运行?
import os
def main():
files = [r'C:\_local\test.txt', r'C:\_local\junk.txt']
funcs = []
for f in files:
funcs.append(lambda: os.startfile(f))
print funcs
funcs[0]()
funcs[1]()
if __name__ == '__main__':
main()
【问题讨论】: