Какой терминал вы используете? Вы на Unix или Windows?
Sjoerd
Я использую сафари. Только что узнал, что я могу использовать теги HTML в Python.
Цзя-Ло
Ответы:
379
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)
Мне нравится, что вы не просто выделили жирным шрифтом, но создали целый класс, чтобы они могли ссылаться на него и помогать всем пользователям просматривать. Спасибо.
GreenHawk1220
3
Я буду использовать это как дикт, а не класс. Спасибо!
17
6
Это печатает следующее:[1mHello World ![0m
Работа над моей установкой: Ubuntu 19.10, Python 3.7
Elouan Keryell-Even
Можно ли сочетать жирный шрифт с цветом? @Boubakr
Alper
62
Использовать это:
print'\033[1m'+'Hello'
И чтобы вернуться к нормальной жизни:
print'\033[0m'
Эта страница является хорошим справочником для печати в цветах и размерах шрифтов. Перейдите в раздел с надписью «Установить графический режим:»
И обратите внимание, это не будет работать на всех операционных системах, но вам не нужны никакие модули.
Если бы мне пришлось угадывать, кто-то это проголосовал, потому что это не отвечало на вопрос о том, как напечатать что-то жирным шрифтом.
Кристиан,
Ваше право, там было обновление. Извините за это, ребята.
Олу Смит
22
В простом компьютерном программировании нет такого понятия, как «печать жирного текста». Давайте немного вернемся назад и поймем, что ваш текст - это строка байтов, а байты - просто наборы битов. Для компьютера, вот ваш "привет" текст в двоичном виде .
0110100001100101011011000110110001101111
Каждый или ноль это бит. Каждые восемь бит - это байт. Каждый байт в такой строке в Python 2.x представляет собой одну букву / цифру / пунктуацию (называемую символом). Так, например:
0110100001100101011011000110110001101111
h e l l o
Компьютер переводит эти биты в буквы, но в традиционной строке (называемой строкой ASCII) нет ничего, что могло бы указывать жирный текст. В строке Unicode, которая работает немного по-другому, компьютер может поддерживать символы международного языка, такие как китайские, но опять же, нет ничего, чтобы сказать, что какой-то текст выделен жирным шрифтом, а другой - нет. Там также нет явного шрифта, размера текста и т. Д.
В случае печати HTML вы по-прежнему выводите строку. Но компьютерная программа, читающая эту строку (веб-браузер), запрограммирована на интерпретацию текста, например, this is <b>bold</b>«это жирный шрифт », когда она преобразует вашу строку букв в пиксели на экране. Если бы весь текст был WYSIWYG, необходимость в самом HTML была бы уменьшена - вы просто выбрали бы текст в вашем редакторе и выделили его жирным шрифтом вместо того, чтобы печатать HTML.
Другие программы используют разные системы - во многих ответах объясняется совершенно другая система печати жирного текста на терминалах. Я рад, что вы узнали, как делать то, что хотите, но в какой-то момент вам захочется понять, как работают строки и память.
Каким бы неудовлетворительным ни казался этот ответ, вероятно, именно он наиболее правильно отвечает на заданный вопрос . Это вообще не вопрос Python, а вопрос о том, что делает рендеринг .
Джон Y
8
Дело в том, что каждый, кто интересуется ответом на этот вопрос, понимает двоичный код и то, как он используется для представления строк. Нас интересует, как использовать python, чтобы текст выглядел жирным шрифтом, на что дан ответ выше. Этот ответ слишком педантичен.
Тревор
16
Это зависит от того, используете ли вы linux / unix:
>>> start ="\033[1m">>> end ="\033[0;0m">>>print"The"+ start +"text"+ end +" is bold."The text is bold.
В 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 terminalImportError: No module named render На самом деле это единственный сайт, который я смог найти о модуле «терминал». Пожалуйста, дополните.
минералы
Приведенная выше ссылка использовалась для содержания terminalмодуля, но они перенаправили страницу. Вот код, кэшированный Google.
Диего Наварро
В любом случае, я сделал свой собственный модуль Python, чтобы решить эту проблему, проверьте @minerals ;-)
Диего Наварро
8
print'\033[1m Your Name \033[0m'
\ 033 [1m - это Unicode для полужирного шрифта в терминале \ 033 [0m - это Unicode для завершения отредактированного текста и обратного форматирования текста по умолчанию !!!!!
если вы не используете \ 033 [0m, то весь следующий текст терминала станет жирным шрифтом !!!!!!!!!
Пожалуйста, прочитайте другой ответ, прежде чем ответить! Этот вопрос имеет много правильных ответов с большим количеством объяснений. Вы не добавляете ничего полезного.
Мохаммад Дехган
6
Установите 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 &1else(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'
В Python 3 вы можете использовать colorama - simple_colors: (Страница простых цветов: https://pypi.org/project/simple-colors/ - перейдите к заголовку «Использование».) Прежде чем делать то, что ниже, убедитесь, что вы pip install simple_colours.
from simple_colors import*print(green('hello','bold'))
Ответы:
источник
[1mHello World ![0m
Использовать это:
И чтобы вернуться к нормальной жизни:
Эта страница является хорошим справочником для печати в цветах и размерах шрифтов. Перейдите в раздел с надписью «Установить графический режим:»
И обратите внимание, это не будет работать на всех операционных системах, но вам не нужны никакие модули.
источник
Вы можете использовать termcolor для этого:
Чтобы напечатать цветной жирный шрифт:
Для получения дополнительной информации см. Termcolor на PyPi .
simple-colors - это еще один пакет с похожим синтаксисом:
Эквивалент в колораме может быть
Style.BRIGHT
.источник
В простом компьютерном программировании нет такого понятия, как «печать жирного текста». Давайте немного вернемся назад и поймем, что ваш текст - это строка байтов, а байты - просто наборы битов. Для компьютера, вот ваш "привет" текст в двоичном виде .
Каждый или ноль это бит. Каждые восемь бит - это байт. Каждый байт в такой строке в Python 2.x представляет собой одну букву / цифру / пунктуацию (называемую символом). Так, например:
Компьютер переводит эти биты в буквы, но в традиционной строке (называемой строкой ASCII) нет ничего, что могло бы указывать жирный текст. В строке Unicode, которая работает немного по-другому, компьютер может поддерживать символы международного языка, такие как китайские, но опять же, нет ничего, чтобы сказать, что какой-то текст выделен жирным шрифтом, а другой - нет. Там также нет явного шрифта, размера текста и т. Д.
В случае печати HTML вы по-прежнему выводите строку. Но компьютерная программа, читающая эту строку (веб-браузер), запрограммирована на интерпретацию текста, например,
this is <b>bold</b>
«это жирный шрифт », когда она преобразует вашу строку букв в пиксели на экране. Если бы весь текст был WYSIWYG, необходимость в самом HTML была бы уменьшена - вы просто выбрали бы текст в вашем редакторе и выделили его жирным шрифтом вместо того, чтобы печатать HTML.Другие программы используют разные системы - во многих ответах объясняется совершенно другая система печати жирного текста на терминалах. Я рад, что вы узнали, как делать то, что хотите, но в какой-то момент вам захочется понять, как работают строки и память.
источник
Это зависит от того, используете ли вы linux / unix:
Слово
text
должно быть жирным.источник
Проверьте колораму . Это не обязательно помогает с жирным шрифтом ... но вы можете сделать цветной вывод в Windows и Linux и контролировать яркость:
источник
В Python есть очень полезный модуль для форматирования текста (полужирный, подчеркивание, цвета ...). Он использует
curses
lib, но очень прост в использовании.Пример:
ОБНОВЛЕНО:
Я написал простой модуль под названием colors.py, чтобы сделать его немного более питоническим:
источник
ImportError: No module named terminal
ImportError: No module named render
На самом деле это единственный сайт, который я смог найти о модуле «терминал». Пожалуйста, дополните.terminal
модуля, но они перенаправили страницу. Вот код, кэшированный Google.\ 033 [1m - это Unicode для полужирного шрифта в терминале \ 033 [0m - это Unicode для завершения отредактированного текста и обратного форматирования текста по умолчанию !!!!!
если вы не используете \ 033 [0m, то весь следующий текст терминала станет жирным шрифтом !!!!!!!!!
источник
Установите
termcolor
модульа затем попробуйте это для цветного текста
или это для жирного текста:
В Python 3 вы можете альтернативно использовать
cprint
в качестве вставной замены встроенныйprint
, с необязательным вторым параметром для цветов илиattrs
параметром для жирного шрифта (и другими атрибутами, такими какunderline
) в дополнение к обычным именованнымprint
аргументам, таким какfile
илиend
.источник
Некоторые терминалы позволяют печатать цветной текст. Некоторые цвета выглядят так, будто они «жирные». Пытаться:
Последовательность «\ 033 [1; 37m» заставляет некоторые терминалы начинать печатать «ярко-белым», который может выглядеть немного как жирный белый. '\ 033 [0; 0m' выключит его.
источник
Предполагая, что вы действительно имеете в виду «печать» на реальном печатном терминале:
Просто отправь это своему
stdout
.источник
Простая смелость - двухстрочный код
В Python 3 вы можете использовать colorama - simple_colors: (Страница простых цветов: https://pypi.org/project/simple-colors/ - перейдите к заголовку «Использование».) Прежде чем делать то, что ниже, убедитесь, что вы
pip install simple_colours
.источник
pip install simple_colors