Curses-like library для кросс-платформенного консольного приложения в python
Я изучаю разработку консольного приложения на python, которое должно работать под Windows, а также с Linux. Для этого я бы очень хотел использовать консольную библиотеку высокого уровня, такую как проклятия. Однако, насколько я знаю, проклятия недоступны в Windows.
Какие еще варианты у меня есть? К сожалению, использование cygwin под Windows не является вариантом...
Спасибо за вашу помощь!
Ответы
Ответ 1
Существует wcurses. Я никогда не пробовал, но это может удовлетворить ваши потребности. Похоже, что у него нет полной совместимости с проклятиями, но может быть достаточно близко. Кроме того, он может не использовать терминал DOS, но открывает окно графического интерфейса пользователя и рисует моноширинный текст внутри.
Другие параметры текстового режима Windows:
Я считаю, что оба являются только окнами.
Ответ 2
PDCurses работает в Windows, но я не знаю ни одной оболочки Python.
Интересно, может ли модуль curses быть реализован в Windows с помощью PDCurses?
Ответ 3
Я не знаю, почему люди отвечают на вопрос, но debustad прав, есть готовые проклятия для Windows:
Обратите внимание на множество других полезных библиотек. После этого установите пакет и (менее известный, но отличный) bpython интерактивный интерпретатор, чтобы попробовать его немедленно:
pip install bpython
Я также рекомендую библиотеку Urwid для чего-то более высокого уровня. Никогда не пробовал это в Windows, но должен быть доступен с одним из пакетов curses.
Ответ 4
Недавно я затронул эту проблему для пакета, который я собирал (https://github.com/peterbrittain/asciimatics). Я был не очень доволен решениями, которые требовали установки (или, что еще хуже) сборки отдельных исполняемых файлов двоичных файлов, таких как PDCurses или cygwin, поэтому я создал унифицированный API, который обеспечивает цвета консоли, позиционирование курсора и ввода клавиатуры и мыши для Windows, OSX и UNIX.
Это сейчас в прямом эфире и было протестировано на CentOS 6/7 и Windows 7/8/10 и OSX 10.11. Вы можете установить его из PYPI с помощью pip, а затем использовать класс Screen
для управления консолью. Как вы можете видеть из галереи , она должна обеспечивать все ваши потребности в консоли, но если вам нужны дополнительные функции, отправьте запрос на расширение GitHub и я увижу, что я могу сделать.
Ответ 5
создайте два интерфейса для вашей программы, текстовую консоль ui и графический интерфейс ui. Сделать консоль работать только на Linux. Никто в окнах не использует приложения для текстовых консолей.