有没有办法交互式编程Python curses应用程序?

dan*_*dan 13 python curses

有没有办法创建第二个终端,以便所有对curses函数的调用都在那个,而不是在现有的终端上?当我可以以交互方式尝试时,我工作得更快,所以我希望能够在一个终端中运行交互式python解释器,并在另一个终端中查看curses输出.

实际上,initscr()在交互式窗口中调用失败(PyDev)或永久地从主机(Spyder)中取消窗口刷新或在控制台(IPython)中导致奇怪的行为.

是否可以使用不同的终端接管setupterm()?如果是这样,我在哪里可以使用不同的TERM字符串来调用它?

Gri*_*ave 3

我不这么认为,因为curses 模块大部分(完全?)是在C 级别实现的。它不太可能提供这样的钩子,尽管如果您熟悉该语言,可能值得查看源代码。

然而,在阅读你的问题时,我想到了我在其他情况下使用的另一种技术。您可以通过另一个终端/编辑器保存脚本,并使用类似于dnotify命令(甚至简单的轮询)的技术将其加载到正在运行的程序中。

另一个想法是使用套接字发送命令并执行它们。当然,这在安全方面是危险的,因此请采取必要的预防措施。

您必须构建一些基础设施,但这可能比向诅咒添加多设备支持容易得多。