Я написал строку кода, используя лямбду, чтобы закрыть список файловых объектов в python2.6:
map(lambda f: f.close(), files)
Это работает, но не в python3.1. Почему?
Вот мой тестовый код:
import sys
files = [sys.stdin, sys.stderr]
for f in files: print(f.closed) # False in 2.6 & 3.1
map(lambda o : o.close(), files)
for f in files: print(f.closed) # True in 2.6 but False in 3.1
for f in files: f.close()
for f in files: print(f.closed) # True in 2.6 & 3.1