gpt4 book ai didi

python - 在 python 的 curses 中获取 echo/noecho 状态

转载 作者:太空宇宙 更新时间:2023-11-04 00:54:44 24 4
gpt4 key购买 nike

我可以使用 echo()noecho() 在 curses 中设置 echo 状态,但是我如何才能看到我当前处于什么状态?这是我正在尝试做的事情:

# get current echo state
if screen.echo_is_on():
my_echo_state=False # echo is currently off
curses.echo() # turn echo on
else:
my_echo_state=True # echo is already on

# get input from user
input_str = screen.getstr(r, c)

# return echo to previous state
if my_echo_state==False:
curses.noecho()

我正在寻找可以完成 screen.echo_is_on() 的东西。

最佳答案

Python 中的echo 没有getter 函数curses binding .

  • Python 具有对应于 curses C 函数的方法。
  • C 绑定(bind)中 echo(以及一些其他函数)的状态存储在 SCREEN 结构中,该结构通常是不透明的。
  • 其他状态信息存储在 WINDOW 中,它不是不透明的。

原始 curses 界面有扩展。 NetBSD 为 WINDOW 等引入了opaque 结构的概念。后来,ncurses 将其用作帮助隐藏/控制线程应用程序状态信息的选项。为此,ncurses 添加了从 WINDOW 访问数据的函数(参见 curs_opaque(3x))。

但是,没有用于访问SCREEN 内容的新函数。 curs_inopts(3x) 中描述了这些的启用/禁用功能.

如果您需要一个getter,您可以自己编写一个,例如,作为一个隐藏对echonoecho 的实际调用的类.

关于python - 在 python 的 curses 中获取 echo/noecho 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com