Независимо от того, создаете ли вы простой скрипт Python или приложение корпоративного уровня, элегантное взаимодействие с консолью избавит вас от надоедливой головной боли при устранении неполадок в будущем.
В этой статье мы рассмотрим некоторые библиотеки, которые позволят вам создавать удобные, элегантные взаимодействия с консолью и вывод для вашего кода.
Использование этих замечательных библиотек поможет вам создавать приложения командной строки, которые понравятся пользователям.
Давайте начнем!
1. tqdm
Первый модуль, возможно, является одной из самых удобных функций, которые вы можете добавить в свой код. Индикатор прогресса! Разве это не расстраивает, когда вы понятия не имеете, сколько времени прошло во время долгого процесса?
Если вы когда-либо устанавливали пакет с помощью pip, вы видели этот модуль в действии.
import tqdm
import time
for _ in tqdm.tqdm(range(100)):
    time.sleep(0.25)2. colorama
Кто не любит красочный консольный текст? Ошибки отображаются красным цветом, успешные операции — зеленым.
Используя colorama, вы можете раскрасить любой вывод текста и выделить определенные слова, фразы или строки.
from colorama import init
init()
from colorama import Fore, Back, Style
print(Fore.GREEN + 'green text')
print(Back.YELLOW + 'yellow back')
print(Style.BRIGHT + 'bright' + Style.RESET_ALL)
print('default')3. art
Про art, думаю рассказывать не надо, достаточно посмотреть на это

from art import tprint
tprint("Python")4. simple-term-menu
Иногда все, что нужно для упрощения сложного приложения, — это меню. Любите вы их или ненавидите, но меню командной строки могут облегчить жизнь пользователя.
from simple_term_menu import TerminalMenu
menu = TerminalMenu(['yes', 'no', 'maybe', 'so'])
menu.show()5. tabulate
Печать таблиц вручную с помощью Python в лучшем случае разочаровывает. Заголовки отображаются некорректно, столбцы смещаются влево или вправо... Вы можете облегчить себе жизнь с помощью tabulate.
import tabulate
data = [
    ['id', 'name', 'number'],
    [0, 'Jeff', 1234],
    [1, 'Bob', 5678],
    [2, 'Bill', 9123]
]
results = tabulate.tabulate(data)
print(results)Комментарии (17)
 - shpaker06.01.2023 18:02+2- Подборка не плоха, но как мне - не блещет ничем новым, и от неё немного потягивает рандомным выбором. 
 - dolfinus06.01.2023 18:24+6- Как можно было не упомянуть Rich?  - Lord_of_Rings Автор06.01.2023 18:29- Все библиотеки упомянуть невозможно, я выбрал самые лучшие (на мой взгляд) 
 
 - mr-giz06.01.2023 18:26+10- Для прогресс баров есть замечательная alive-progress. Для форматированного текста, таблиц, маркдауна и подобного rich. И да подборка очень куцая - мало и без примеров. 
 - vkflare06.01.2023 23:11+3- Tabulate прекрасен тем, что умеет съедать dataframe. А уже упомянутый выше rich прекрасен во всех смыслах. 
 - invasy07.01.2023 11:47+3- Про art, думаю рассказывать не надо - Лучше бы рассказать. - У статьи есть плашка «Обзор», но обзора не получилось. Документацию полезнее почитать. 
 - Choose_Goose07.01.2023 14:45- simple-term-menu почему то не работает - ( - Traceback (most recent call last): 
 File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\simple_term_menu.py", line 37, in
 import termios
 ModuleNotFoundError: No module named 'termios'- The above exception was the direct cause of the following exception: - Traceback (most recent call last): 
 File "D:\ss.py", line 16, in
 from simple_term_menu import TerminalMenu
 File "C:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\simple_term_menu.py", line 39, in
 raise NotImplementedError('"{}" is currently not supported.'.format(platform.system())) from e
 NotImplementedError: "Windows" is currently not supported.- )  - Lord_of_Rings Автор07.01.2023 14:46- На данный момент simple-term-menu работает только на Linux и MacOS 
 
 
           
 

jorikdima
Подборка интересная, но уж слишком бегло. Чуть поболее бы примеров с иллюстрациями результатов.
Lord_of_Rings Автор
Учту. Заходите завтра, послезавтра ;-)
saboteur_kiev
будет еще статья или эта обновится?
Lord_of_Rings Автор
Обновится
Lissov
Попробуйте ChatGPT. Он может выдать интересные примеры, главное понимать, что спрашиваешь.