Как напечатать жирный текст на Python?
Например:
print "hello"
Что мне делать, чтобы текст «привет» отображался жирным шрифтом?
Как напечатать жирный текст на Python?
Например:
print "hello"
Что мне делать, чтобы текст «привет» отображался жирным шрифтом?
Ответы:
class color:
PURPLE = '\033[95m'
CYAN = '\033[96m'
DARKCYAN = '\033[36m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
END = '\033[0m'
print(color.BOLD + 'Hello World !' + color.END)
Использовать это:
print '\033[1m' + 'Hello'
И чтобы вернуться к нормальной жизни:
print '\033[0m'
Эта страница является хорошим справочником для печати в цветах и размерах шрифтов. Перейдите в раздел с надписью «Установить графический режим:»
И обратите внимание, это не будет работать на всех операционных системах, но вам не нужны никакие модули.
Вы можете использовать termcolor для этого:
sudo pip install termcolor
Чтобы напечатать цветной жирный шрифт:
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
Для получения дополнительной информации см. Termcolor на PyPi .
simple-colors - это еще один пакет с похожим синтаксисом:
from simple_colors import *
print(green('Hello', ['bold'])
Эквивалент в колораме может быть Style.BRIGHT.
В простом компьютерном программировании нет такого понятия, как «печать жирного текста». Давайте немного вернемся назад и поймем, что ваш текст - это строка байтов, а байты - просто наборы битов. Для компьютера, вот ваш "привет" текст в двоичном виде .
0110100001100101011011000110110001101111
Каждый или ноль это бит. Каждые восемь бит - это байт. Каждый байт в такой строке в Python 2.x представляет собой одну букву / цифру / пунктуацию (называемую символом). Так, например:
01101000 01100101 01101100 01101100 01101111
h e l l o
Компьютер переводит эти биты в буквы, но в традиционной строке (называемой строкой ASCII) нет ничего, что могло бы указывать жирный текст. В строке Unicode, которая работает немного по-другому, компьютер может поддерживать символы международного языка, такие как китайские, но опять же, нет ничего, чтобы сказать, что какой-то текст выделен жирным шрифтом, а другой - нет. Там также нет явного шрифта, размера текста и т. Д.
В случае печати HTML вы по-прежнему выводите строку. Но компьютерная программа, читающая эту строку (веб-браузер), запрограммирована на интерпретацию текста, например, this is <b>bold</b>«это жирный шрифт », когда она преобразует вашу строку букв в пиксели на экране. Если бы весь текст был WYSIWYG, необходимость в самом HTML была бы уменьшена - вы просто выбрали бы текст в вашем редакторе и выделили его жирным шрифтом вместо того, чтобы печатать HTML.
Другие программы используют разные системы - во многих ответах объясняется совершенно другая система печати жирного текста на терминалах. Я рад, что вы узнали, как делать то, что хотите, но в какой-то момент вам захочется понять, как работают строки и память.
Проверьте колораму . Это не обязательно помогает с жирным шрифтом ... но вы можете сделать цветной вывод в Windows и Linux и контролировать яркость:
from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'
В Python есть очень полезный модуль для форматирования текста (полужирный, подчеркивание, цвета ...). Он использует curseslib, но очень прост в использовании.
Пример:
from terminal import render
print render('%(BG_YELLOW)s%(RED)s%(BOLD)sHey this is a test%(NORMAL)s')
print render('%(BG_GREEN)s%(RED)s%(UNDERLINE)sAnother test%(NORMAL)s')
Я написал простой модуль под названием colors.py, чтобы сделать его немного более питоническим:
import colors
with colors.pretty_output(colors.BOLD, colors.FG_RED) as out:
out.write("This is a bold red text")
with colors.pretty_output(colors.BG_GREEN) as out:
out.write("This output have a green background but you " +
colors.BOLD + colors.FG_RED + "can" + colors.END + " mix styles")
ImportError: No module named terminal ImportError: No module named render На самом деле это единственный сайт, который я смог найти о модуле «терминал». Пожалуйста, дополните.
terminalмодуля, но они перенаправили страницу. Вот код, кэшированный Google.
print '\033[1m Your Name \033[0m'
\ 033 [1m - это Unicode для полужирного шрифта в терминале \ 033 [0m - это Unicode для завершения отредактированного текста и обратного форматирования текста по умолчанию !!!!!
если вы не используете \ 033 [0m, то весь следующий текст терминала станет жирным шрифтом !!!!!!!!!
Установите termcolorмодуль
sudo pip install termcolor
а затем попробуйте это для цветного текста
from termcolor import colored
print colored('Hello', 'green')
или это для жирного текста:
from termcolor import colored
print colored('Hello', attrs=['bold'])
В Python 3 вы можете альтернативно использовать cprintв качестве вставной замены встроенный print, с необязательным вторым параметром для цветов или attrsпараметром для жирного шрифта (и другими атрибутами, такими как underline) в дополнение к обычным именованным printаргументам, таким как fileили end.
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
Полное раскрытие, этот ответ в значительной степени основан на ответе Олу Смита и был задуман как редактирование , которое значительно уменьшило бы шум на этой странице, но из-за ошибочного представления некоторых рецензентов о том, каким должно быть редактирование, теперь я вынужден чтобы сделать это отдельным ответом.
Некоторые терминалы позволяют печатать цветной текст. Некоторые цвета выглядят так, будто они «жирные». Пытаться:
print ('\033[1;37mciao!')
Последовательность «\ 033 [1; 37m» заставляет некоторые терминалы начинать печатать «ярко-белым», который может выглядеть немного как жирный белый. '\ 033 [0; 0m' выключит его.
Предполагая, что вы действительно имеете в виду «печать» на реальном печатном терминале:
>>> text = 'foo bar\r\noof\trab\r\n'
>>> ''.join(s if i & 1 else (s + '\b' * len(s)) * 2 + s
... for i, s in enumerate(re.split(r'(\s+)', text)))
'foo\x08\x08\x08foo\x08\x08\x08foo bar\x08\x08\x08bar\x08\x08\x08bar\r\noof\x08\
x08\x08oof\x08\x08\x08oof\trab\x08\x08\x08rab\x08\x08\x08rab\r\n'
Просто отправь это своему stdout.
В Python 3 вы можете использовать colorama - simple_colors: (Страница простых цветов: https://pypi.org/project/simple-colors/ - перейдите к заголовку «Использование».) Прежде чем делать то, что ниже, убедитесь, что вы pip install simple_colours.
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors