python中跨平台控制台应用程序的类似curses的库

时间:2009-08-07 14:06:07

标签: python windows linux console ncurses

我正在研究在python中开发一个控制台应用程序,该应用程序应该能够在Windows和Linux下运行。为此,我真的想使用像curses这样的高级控制台库。但是,据我所知,Windows上没有curses。

我还有其他选择吗?不幸的是,在Windows下使用cygwin不是一种选择......

感谢您的帮助!

5 个答案:

答案 0 :(得分:6)

有一个wcurses。我从未尝试过,但它可能满足您的需求。听起来它没有完全的curses兼容性,但可能足够接近。它也可能没有使用DOS终端,而是打开一个GUI窗口并在里面绘制等宽文本。

其他Windows文本模式选项包括:

我相信两者都只是窗户。

答案 1 :(得分:4)

PDCurses适用于Windows,但我不知道任何Python包装器。 我想知道curses模块是否可以在带有PDCurses的Windows上实现?

答案 2 :(得分:3)

我不知道为什么人们回答问题评论,但是debustad是对的,有一个针对Windows的预建诅咒:

还注意到许多其他有用的库。在这样做之后,安装pip和(鲜为人知但很优秀的)bpython交互式解释器立即尝试:

pip install bpython

我还建议将Urwid library用于更高级别的内容。从来没有在Windows上尝试过,但是should be possible使用了其中一个curses包。

答案 3 :(得分:3)

我最近针对我正在整理的一个软件包(https://github.com/peterbrittain/asciimatics)遇到了这个问题。对于要求你安装(或者更糟)构建像PDCurses或cygwin这样的单独的二进制可执行文件的解决方案,我不是很满意,所以我创建了一个统一的API,提供控制台颜色,光标定位和键盘&用于Windows,OSX和UNIX平台的鼠标输入。

现已上线,已经在CentOS 6/7和Windows 7/8/10以及OSX 10.11上进行了测试。您可以使用pip从PYPI安装它,然后使用Screen类来控制您的控制台。从项目gallery可以看出,它应该提供您所有的控制台需求,但是如果您需要一些额外的功能,请在GitHub上发布增强请求,我会看到我能做什么。

答案 4 :(得分:-8)

为您的程序开发两个接口,一个文本控制台ui和一个图形用户界面。使控制台只能在linux上运行。 Windows上没有人使用文本控制台应用程序。