3

我正在尝试编写一个库,它可以在标准 Python、iPython 和 qtConsole 中跨平台工作。

除了我的键盘交互外,一切正常。

我想要“按任意键”或“按 Y/N/Esc”之类的东西

在 Windows 中,这很容易使用 msvcrt 和 kbhit。(虽然我没有在 Windows 中尝试过 qtconsole)在 Linux 中,这可以在 Python 和 iPython 下使用 stdin 和 termios 工作。

问题是 qtconsole 似乎使用非阻塞标准输入并且不支持 termios。

你会认为这是一件好事,只需刷新标准输入,然后检查它是否有字符。问题是这似乎不起作用。它永远不会返回一个字符。就好像 ipython 本身正在妨碍终端输入标准输入。

在 qtconsole 中读取 sys.stdin 的正确方法是什么?

(顺便说一句,qtconsole 没有标签,这个问题是关于 qtconsole,而不仅仅是 iPython)

4

0 回答 0