Python跨平台控制台应用的curses类似库

25 投票
5 回答
14025 浏览
提问于 2025-04-15 13:27

我正在研究用Python开发一个控制台应用程序,这个程序需要在Windows和Linux系统上都能运行。为了实现这个目标,我想使用一个高级的控制台库,比如curses。不过,按照我所了解的,curses在Windows上是无法使用的。

那我还有什么其他选择呢?很遗憾,Windows下使用cygwin对我来说不是一个可行的选项……

谢谢你的帮助!

5 个回答

5

我不知道为什么有人在问题评论里回答,但debustad说得对,Windows上有现成的curses库:

那里还有很多其他有用的库。安装完这些后,记得安装pip和一个不太知名但非常棒的bpython交互式解释器,马上就可以试用:

pip install bpython

我还推荐Urwid库,这是一个更高级的选择。我在Windows上没试过,但应该可以用其中一个curses包来实现这应该是可行的

7

我最近在做一个软件包的时候遇到了一个问题(https://github.com/peterbrittain/asciimatics)。我对那些需要你安装(或者更糟糕的是,自己编译)像PDCurses或cygwin这样的独立程序的解决方案并不满意,所以我创建了一个统一的接口,可以在Windows、OSX和UNIX平台上提供控制台颜色、光标位置以及键盘和鼠标输入的功能。

这个接口现在已经上线,并且在CentOS 6/7和Windows 7/8/10以及OSX 10.11上进行了测试。你可以通过PYPI使用pip来安装它,然后使用Screen类来控制你的控制台。从项目的画廊中可以看到,它应该能满足你所有的控制台需求。如果你需要一些额外的功能,请在GitHub上提交一个增强请求,我会看看能做些什么。

7

有一个叫做 wcurses 的东西。我自己没试过,但它可能能满足你的需求。听起来它的功能和curses不完全一样,但可能差不多。另外,它可能不是在DOS终端上运行,而是在打开一个图形界面窗口,并在里面显示等宽字体的文本。

还有其他一些适用于Windows的文本模式选项:

我相信这两个选项都是只能在Windows上使用的。

撰写回答