Не удалось закрыть файл функционально в python3.1?

Я написал строку кода, используя лямбда, чтобы закрыть список файловых объектов в 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
5
задан SilentGhost 10 September 2010 в 16:13
поделиться