2

次の呼び出しを行う場合:

from urwid import raw_display
cols, rows = raw_display.Screen().get_cols_rows()

... ファイル記述子が開いたままになっています。この関数を複数回呼び出すと、Python 3 インタープリターがクラッシュします。特に以前と同じように行った場合:

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

次のエラーを防ぐにはどうすればよいですか?

OSError: [Errno 24] Too many open files

4

1 に答える 1

2

一度だけ作成しますraw_display.Screen()

これを行う 1 つの方法は、デフォルト パラメータを使用することです。一度だけ評価されます-関数/ラムダが定義されている場合:

size = lambda rows=True, scr=raw_display.Screen(): scr.get_cols_rows()[rows]
于 2016-07-03T03:16:06.240 に答える