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

25

我正在研究使用Python开发控制台应用程序,该程序应该能够在Windows和Linux下运行。为此,我希望使用像curses这样的高级控制台库。然而据我所知,curses在Windows上不可用。

我还有哪些其他选项?不幸的是,在Windows下使用cygwin不是一个选择...

感谢您的帮助!


2
所以,如果我看了你的答案,似乎没有一个好的解决方案适用于我的问题...我可能会尝试强制用户在Windows上使用Cygwin。祝我好运;) - andreas-h
5
有一个PDCurses的Python实现版本可供下载: http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses - Dale Bustad
5个回答

7

我最近遇到了一个问题,这与我正在组装的程序(https://github.com/peterbrittain/asciimatics)有关。我不喜欢需要安装(或者更糟糕的是)构建单独的二进制可执行文件(如PDCurses或cygwin)的解决方案,因此我创建了一个统一的API,为Windows、OSX和UNIX平台提供控制台颜色、光标定位和键盘鼠标输入。

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


7

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

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

我认为这两个都只适用于Windows。


2
仅供参考:我发现在Curses for Windows & Python - archive.orgwcurses的最后一个快照是从2010年的。 - sdaau

5

我不知道为什么有人在问题评论中回答,但是debustad是正确的,Windows有一个预构建的curses库:

请注意,还有许多其他有用的库。完成后,请安装pip和(较少人知道但非常好用的)bpython交互式解释器以立即尝试它:
pip install bpython

我还推荐Urwid库,它更高级一些。虽然我没有在Windows上尝试过,但使用其中一个curses包应该是可能的

1
糟糕!Urwid的链接已经失效了。 - user26742873

4

PDCurses可以在Windows上使用,但我不知道有没有Python包装器。 我想知道是否可以使用PDCurses在Windows上实现curses模块?


-8

为您的程序开发两个界面,一个文本控制台界面和一个图形界面。使控制台界面仅在Linux上工作。Windows上没有人使用文本控制台应用程序。


1
+1 在Windows上使用文本控制台应用程序的人使用Cygwin,其中包含ncurses。如果可能将UI与实现分离,这总是很好的,这为此提供了一个不错的动力。 - DrAl
10
如果文本用户界面已经足够,我认为编写文本和图形用户界面都是浪费。 - Bastien Léonard
5
使用这个应用程序的人也会在Windows上使用它,尤其是因为他们会在Windows和Linux上使用它,所以两个不同的界面对他们来说并不好。而且,我还需要开发两个界面,这是我不想要的。 - andreas-h
4
问题很好 - 如果能有包含Windows的可移植控制台代码就太好了。说“为Windows制作GUI”并没有什么帮助。 - moopet
1
没有人在Windows上使用文本控制台应用程序。好吧,不是...就像我现在为之编写代码的那些人一样。 - user26742873

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接