当我运行以下脚本时,两个lambda都会在同一个文件junk.txt上运行os.startfile()。我希望每个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()