2016-07-03 16 views
1

를 열어 둡니다. 이 함수를 여러 번 호출하면 Python 3 인터프리터가 충돌합니다. 특히 내가 이전에했던 것처럼 완료했을 경우 :여러 urwid 호출 내가 다음 호출을하면 파일이

size = lambda rows = True: raw_display.Screen().get_cols_rows()[rows] 

어떻게하면 다음 오류를 예방할 수 있습니까?

OSError: [Errno 24] Too many open files

답변

1

한 번만 raw_display.Screen()을 만듭니다.

기본 매개 변수를 사용하는 한 가지 방법입니다. 함수/lambda가 정의되었을 때 한번만 평가됩니다 :

size = lambda rows=True, scr=raw_display.Screen(): scr.get_cols_rows()[rows]