похожая на curses библиотека для кроссплатформенного консольного приложения на python - PullRequest
21 голосов
/ 07 августа 2009

Я занимаюсь разработкой консольного приложения на python, которое должно работать как в Windows, так и в Linux. Для этого мне бы очень хотелось использовать консольную библиотеку высокого уровня, такую ​​как curses. Однако, насколько я знаю, проклятия недоступны в Windows.

Какие еще есть варианты? К сожалению, использование Cygwin под Windows не вариант ...

Спасибо за вашу помощь!

Ответы [ 5 ]

6 голосов
/ 07 августа 2009

Существует wcurses . Я никогда не пробовал, но это может удовлетворить ваши потребности. Похоже, что он не имеет полной совместимости проклятий, но может быть достаточно близко. Также возможно, что он не использует DOS-терминал, а открывает окно графического интерфейса пользователя и рисует внутриобъемный текст.

Другие параметры текстового режима Windows:

  • Консольный модуль ;
  • wconio - на основе библиотеки C conio от Borland.

Я считаю, что оба окна только.

4 голосов
/ 07 августа 2009

PDCurses работает в Windows, но я не знаю никакой оболочки Python. Интересно, может ли модуль curses быть реализован в Windows с помощью PDCurses?

3 голосов
/ 10 июня 2015

Недавно я столкнулся с этой проблемой для пакета, который я собирал (https://github.com/peterbrittain/asciimatics).) Я был не очень доволен решениями, которые требовали от вас установки (или того хуже) сборки отдельных двоичных исполняемых файлов, таких как PDCurses или cygwin, Я создал унифицированный API, который обеспечивает цвета консоли, позиционирование курсора и ввод с клавиатуры и мыши для платформ Windows, OSX и UNIX.

Сейчас он работает и был протестирован на CentOS 6/7, Windows 7/8/10 и OSX 10.11. Вы можете установить его из PYPI, используя pip, а затем использовать класс Screen для управления вашей консолью. Как вы можете видеть из проекта gallery , он должен обеспечить все потребности вашей консоли, но если вам нужны некоторые дополнительные функции, пожалуйста, отправьте запрос на расширение на GitHub, и я посмотрю, что я могу сделать.

3 голосов
/ 12 ноября 2012

Я не знаю, почему люди отвечают на вопросы в комментариях, но debustad прав, для Windows есть встроенные проклятия:

Обратите внимание на множество других полезных библиотек. После этого установите pip и (менее известный, но отличный) bpython интерактивный интерпретатор, чтобы сразу попробовать его:

pip install bpython

Я также рекомендую библиотеку Urwid для чего-то более высокого уровня. Никогда не пробовал в Windows, но должно быть возможно с одним из пакетов curses.

0 голосов
/ 07 августа 2009

разработать два интерфейса для вашей программы, текстовый интерфейс консоли и графический интерфейс. Сделай консоль одну, работай только на linux. Никто в Windows не использует приложения с текстовой консолью.

...