Подтвердить что ты не робот

Как напечатать жирный текст в Python?

Как напечатать жирный текст в Python?

Например:

print "hello"

Что мне делать, чтобы текст "привет" выделен жирным шрифтом?

4b9b3361

Ответ 1

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)

Ответ 2

Используйте это:

print '\033[1m' + 'Hello'

И чтобы вернуться к нормальной жизни:

print '\033[0m'

Эта страница является хорошей ссылкой для печати в цветах и ​​шрифтах. Перейдите в раздел "Установить графический режим:"

И обратите внимание, что это не будет работать во всех операционных системах, но вам не нужны никакие модули.

Ответ 3

 sudo pip install termcolor

а затем попробуйте это

 from termcolor import colored
 print colored('Hello', 'green')

и что это для меня

Ответ 4

В прямом программировании компьютера нет такой вещи, как "печать жирного текста". Давайте немного подкрепляемся и понимаем, что ваш текст представляет собой строку байтов, а байты - это просто пучки бит. Для компьютера, здесь ваш "привет" текст, в binary.

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.

Другие программы используют разные системы - многие ответы объясняют совершенно другую систему для печати жирного текста на терминалах. Я рад, что вы узнали, как делать то, что хотите, но в какой-то момент вам захочется понять, как работают строки и память.

Ответ 5

Это зависит от того, используете ли вы linux/unix:

>>> start = "\033[1m"
>>> end = "\033[0;0m"
>>> print "The" + start + "text" + end + " is bold."
The text is bold.

Слово text должно быть жирным.

Ответ 6

Отъезд colorama. Это не обязательно помогает в смелости... но вы можете сделать раскрашенный вывод как на Windows, так и на Linux и контролировать яркость:

from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'

Ответ 7

Существует очень полезный модуль для форматирования текста (полужирный, подчеркивание, цвета..) в Python. Он использует curses lib, но очень прост в использовании.

Пример:

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")

Ответ 8

print '\033[1m  Your Name  \033[0m'

\ 033 [1м - это юникод для жирного шрифта в терминале \ 033 [0m - это юникод для завершения отредактированного текста и форматирования текста по умолчанию !!!!!

если вы не используете \033 [0m, то весь следующий текст терминала станет жирным !!!!!!!!!

Ответ 9

Предполагая, что вы действительно имеете в виду "печать" на реальном терминале печати:

>>> 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.

Ответ 10

Некоторые терминалы позволяют печатать цветной текст. Некоторые цвета выглядят, если они "смелые". Попробуйте:

print ('\033[1;37mciao!')

Последовательность '\ 033 [1; 37m' заставляет некоторые терминалы запускать печать в "ярком белом", который может немного похож на полужирный белый. '\ 033 [0; 0m' отключит его.

Ответ 11

Установите модуль 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)

Полное раскрытие, этот ответ в значительной степени основан на ответе Олу Смита и был задуман как edit, который уменьшил бы шум на этой странице значительно, но из-за ошибочной концепции некоторых рецензентов каким должно быть редактирование, теперь я вынужден сделать это отдельным ответом.