多个urwid调用获取终端大小会使文件打开



如果我拨打以下电话:

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

只创建一次raw_display.Screen()

一种方法是使用默认参数;它只计算一次——当函数/lambda被定义时:

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

相关内容

  • 没有找到相关文章

最新更新