在Python中使用哪个控制台库?

在Python中使用哪个控制台库?,python,windows,linux,Python,Windows,Linux,我有非常简单的任务要用python完成。需要将文本数据(Unicode)绘制为屏幕上的行,可导航,用户可以选择/取消选择行。然而,这应该适用于无头Linux,以及Windows或Mac操作系统。诅咒没有Windows端口。Fredrik Lundh的控制台模块仅适用于Windows。我可以同时使用库和check操作系统,但在两个不同的库上实现/维护相同的功能需要加倍努力 我正在寻找简单的多平台控制台库来绘制我所描述的内容 在较低的级别上,您必须使用curses,并且Windows上的基础curs

我有非常简单的任务要用python完成。需要将文本数据(Unicode)绘制为屏幕上的行,可导航,用户可以选择/取消选择行。然而,这应该适用于无头Linux,以及Windows或Mac操作系统。诅咒没有Windows端口。Fredrik Lundh的控制台模块仅适用于Windows。我可以同时使用库和check操作系统,但在两个不同的库上实现/维护相同的功能需要加倍努力


我正在寻找简单的多平台控制台库来绘制我所描述的内容

在较低的级别上,您必须使用curses,并且Windows上的基础curses库有多种选择,这些选择可能有效,也可能无效。在UNIX上使用诅咒不会有任何真正的问题,所以如果我是你,我会先让它在Windows上运行,如果某个特定功能不起作用,他们的程序会绕过它。UNIX端口应该是无痛的

PDCurses for Windows作为DLL或源代码提供,可以使用ctypes模块直接与任何DLL接口。有一个工具可以自动为您生成一个名为ctypesgen.py的ctypes包装器,我不确定它是否能自动为Windows DLL工作,但它确实可以从头文件工作,因此值得一试


有关ctypes的更多背景信息,请查看此处的一些问题,如

我最近在编写一个软件包时遇到了类似的问题()。我对那些要求您安装(或者更糟)独立构建二进制可执行文件(如PDCurses或cygwin)的解决方案不太满意,因此我创建了一个统一的API,为Windows和UNIX平台提供控制台颜色、光标定位和键盘输入

这里有一个示例应用程序库。在最近的版本中,我还添加了一组小部件对象,允许您创建TUI,如下所示:

该软件现已上线,并已在CentOS 6/7和Windows 7/8上进行了测试。您可以使用pip从PYPI安装它,然后使用Screen类来完成您想要的操作。如果没有,请在GitHub上发布一个增强请求,我会看看我能做些什么。

我使用。它的文档很差,但另一方面,它的源代码库非常紧凑。它很好地支持Unicode,并且在Cygwin上运行良好。在本机CMD.exe中似乎不起作用,但值得仔细研究一下curses依赖项是如何只是可选的

项目现场的示例:


(来源:)


谢谢,虽然这样看起来很痛苦,但这可能是最糟糕的情况……我以前看过在本机Windows环境中使用urwid。。。您必须使用cygwin或PDcurses,因为它不支持win32。