Независимо от того, создаете ли вы простой скрипт 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)