2009-08-07 9 views
21

Ich bin dabei, eine Konsolenanwendung in Python zu entwickeln, die in der Lage sein sollte, unter Windows sowie Linux zu laufen. Dafür würde ich gerne eine High-Level-Konsolenbibliothek wie Flüche verwenden. Soweit ich weiß, ist Fluch unter Windows nicht verfügbar.curses-like-Bibliothek für Cross-Plattform-Konsole App in Python

Welche anderen Optionen habe ich? Leider ist die Verwendung von Cygwin unter Windows keine Option ...

Vielen Dank für Ihre Hilfe!

+0

also, wenn ich auf deine Antworten schaue, scheint es keine gute Lösung für mein Problem zu geben ... ich werde wahrscheinlich versuchen, die Benutzer zwingen, Cygwin unter Windows zu verwenden.wünsche mir Glück;) –

+5

Es gibt eine Version von einer PDCurses-Implementierung für Python: http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses –

Antwort

6

Es gibt eine wcurses. Ich habe es noch nie ausprobiert, aber es könnte Ihren Bedürfnissen entsprechen. Es klingt, als hätte es keine volle Fluchkompatibilität, aber vielleicht nah genug. Es kann auch sein, dass Sie nicht das DOS-Terminal verwenden, sondern ein GUI-Fenster öffnen und darin einen Text mit einem festen Abstand zeichnen.

Andere Fenster Text-Modus-Optionen sind:

Ich glaube, beide sind nur Windows.

+1

Nur eine Anmerkung: letzter Snapshot von 'wcurses' in [Curses für Windows & Python - archive.org] (http://web.archive.org/web/) 20101025073658/http: //adamv.com/dev/python/curses/) Ich fand, ist von 2010. – sdaau

4

PDCurses funktioniert unter Windows, aber ich kenne keine Python-Wrapper. Ich frage mich, ob das Curses-Modul unter Windows mit PDCurses implementiert werden könnte?

-8

entwickeln Sie zwei Schnittstellen für Ihr Programm, eine Textkonsole ui und eine grafische Benutzeroberfläche. Machen Sie die Konsole nur für Linux funktionstüchtig. Niemand unter Windows verwendet Textkonsolen-Apps.

+1

+1 Diejenigen, die Textkonsole Anwendungen unter Windows verwenden Verwende cygwin, das ncurses hat. Es ist immer schön, wenn es möglich ist, die Benutzeroberfläche von der Implementierung zu trennen, und dies gibt einen Anreiz, dies zu tun. – DrAl

+8

Wenn eine Text-Benutzeroberfläche ausreichend ist, wäre es verschwenderisch, sowohl Text als auch grafische UIs IMO zu schreiben. –

+4

Nun, die Leute, die diese App benutzen, würden sie auch unter Windows benutzen. zumal sie es unter Windows und Linux benutzen würden, also wären zwei verschiedene Schnittstellen nicht nett zu ihnen. Außerdem müsste ich zwei Schnittstellen entwickeln, die ich lieber nicht hätte. –

3

Ich weiß nicht, warum die Leute in Frage Kommentare beantworten, aber debustad richtig ist, gibt es eine vorkompilierte Flüche für Windows:

Hinweis viele andere hilfreiche Bibliotheken auch dort . Nachdem ich es sofort so, installiert Pip und die (weniger bekannten, aber sehr gut) bpython interaktiven Interpreter ausprobieren:

pip install bpython 

ich die Urwid library für auch etwas höhere Ebene empfehlen. Habe es nie unter Windows probiert, aber es should be possible mit einem der Flüche Pakete.

2

Ich habe vor kurzem dieses Problem für ein Paket, das ich zusammenstellte, getroffen (https://github.com/peterbrittain/asciimatics). Ich war nicht sehr glücklich mit den Lösungen, die Sie benötigten, um separate ausführbare Binärdateien wie PDCurses oder Cygwin zu installieren, so dass ich eine einheitliche API erstellt, die Konsolenfarben, Cursorpositionierung und Tastaturmauseingaben für Windows, OSX und & bietet UNIX-Plattformen.

Dies ist jetzt live und wurde auf CentOS 6/7 und Windows 7/8/10 und OSX 10.11 getestet. Sie können es von PYPI mit pip installieren und dann die Screen-Klasse verwenden, um Ihre Konsole zu steuern. Wie Sie dem Projekt gallery entnehmen können, sollte es alle Ihre Konsolenanforderungen erfüllen, aber wenn Sie einige zusätzliche Funktionen benötigen, senden Sie bitte eine Verbesserungsanfrage an GitHub und ich werde sehen, was ich tun kann.