मैं पायथन में बोल्ड टेक्स्ट कैसे प्रिंट कर सकता हूं?


162

मैं पायथन में बोल्ड टेक्स्ट कैसे प्रिंट कर सकता हूं?

उदाहरण के लिए:

print "hello"

मुझे क्या करना चाहिए ताकि "हैलो" पाठ बोल्ड में प्रदर्शित हो?


2
यूनिक्स में टर्मिनल एप्लाइंसेज में रंग पाठ की नकल । उत्तरों में बहुत सारे लिंक। यह उत्तर C में है, लेकिन आसानी से इसका अनुवाद पायथन में किया जाता है।
जो

6
आप किस टर्मिनल का उपयोग कर रहे हैं? क्या आप यूनिक्स या विंडोज पर हैं?
सोजेरड

मैं सफारी का उपयोग कर रहा हूँ। बस मुझे पता चला कि मैं अजगर में HTML टैग का उपयोग कर सकता हूं।
जिया-लुओ

जवाबों:


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

15
मुझे वह तरीका पसंद है, जिसमें आपने सिर्फ बोल्ड नहीं किया था, लेकिन उनके संदर्भ के लिए और सभी उपयोगकर्ताओं को देखने में मदद करने के लिए एक पूरी कक्षा बनाई। धन्यवाद।
ग्रीनहॉक 1220

3
मैं इसे एक वर्ग नहीं, तानाशाह के रूप में उपयोग करने वाला हूं। धन्यवाद!
DVlden

6
यह निम्नलिखित [1mHello World ![0m

मेरे सेटअप पर काम करना: ubuntu 19.10, अजगर 3.7
एलुआन केरील-इवन

क्या मैं रंग के साथ बोल्ड भी जोड़ सकता हूं? @Boubakr
alper

62

इसे इस्तेमाल करो:

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

और वापस सामान्य में बदलने के लिए:

print '\033[0m'

यह पृष्ठ रंगों और फ़ॉन्ट-वज़न में मुद्रण के लिए एक अच्छा संदर्भ है। उस अनुभाग पर जाएं जो कहता है कि 'ग्राफिक्स मोड सेट करें:'

और ध्यान दें कि यह सभी ऑपरेटिंग सिस्टम पर काम नहीं करेगा लेकिन आपको किसी भी मॉड्यूल की आवश्यकता नहीं है।


31

आप इसके लिए termcolor का उपयोग कर सकते हैं:

 sudo pip install termcolor

रंगीन बोल्ड प्रिंट करने के लिए:

 from termcolor import colored
 print(colored('Hello', 'green', attrs=['bold']))

अधिक जानकारी के लिए, PyPi पर termcolor देखें ।

सरल-रंग समान सिंटैक्स के साथ एक और पैकेज है:

 from simple_colors import *
 print(green('Hello', ['bold'])

वर्णमाला में समतुल्य हो सकता है Style.BRIGHT


8
अगर मुझे लगता है कि किसी ने इसे कम कर दिया, क्योंकि यह वास्तविक सवाल का जवाब नहीं देता था कि कैसे कुछ बोल्ड में प्रिंट किया जाए।
क्रिश्चियन

आपका अधिकार, एक अद्यतन किया गया है। उस लड़के के बारे में क्षमा करें।
ओलू स्मिथ

22

सीधे-सीधे कंप्यूटर प्रोग्रामिंग में, "बोल्ड टेक्स्ट प्रिंटिंग" जैसी कोई चीज नहीं है। आइए थोड़ा पीछे चलते हैं और समझते हैं कि आपका पाठ बाइट्स का एक स्ट्रिंग है और बाइट्स केवल बिट्स के बंडल हैं। कंप्यूटर के लिए, यहां आपका "हैलो" पाठ बाइनरी में है

0110100001100101011011000110110001101111

हर एक या शून्य एक सा है। हर आठ बिट्स एक बाइट है। हर बाइट, पायथन 2.x, एक अक्षर / संख्या / विराम चिह्न (जिसे एक वर्ण कहा जाता है) जैसे स्ट्रिंग में है। उदाहरण के लिए:

01101000 01100101 01101100 01101100 01101111
h        e        l        l        o

कंप्यूटर उन बिट्स को अक्षरों में अनुवाद करता है, लेकिन एक पारंपरिक स्ट्रिंग (जिसे ASCII स्ट्रिंग कहा जाता है) में, बोल्ड टेक्स्ट को इंगित करने के लिए कुछ भी नहीं है। यूनिकोड स्ट्रिंग में, जो थोड़ा अलग तरीके से काम करता है, कंप्यूटर चीनी लोगों की तरह अंतरराष्ट्रीय भाषा के पात्रों का समर्थन कर सकता है, लेकिन फिर, यह कहने के लिए कुछ नहीं है कि कुछ पाठ बोल्ड है और कुछ पाठ नहीं है। कोई स्पष्ट फ़ॉन्ट, पाठ आकार आदि भी नहीं है

HTML प्रिंट करने के मामले में, आप अभी भी एक स्ट्रिंग आउटपुट कर रहे हैं। लेकिन उस स्ट्रिंग (एक वेब ब्राउज़र) को पढ़ने वाले कंप्यूटर प्रोग्राम को टेक्स्ट की व्याख्या करने के लिए प्रोग्राम किया this is <b>bold</b>जाता है जैसे कि "यह बोल्ड है " जब यह स्क्रीन पर आपके स्ट्रिंग के अक्षरों को पिक्सेल में परिवर्तित करता है। यदि सभी पाठ WYSIWYG थे, तो HTML की आवश्यकता स्वयं कम हो जाएगी - आप बस अपने संपादक में पाठ का चयन करेंगे और HTML टाइप करने के बजाय इसे बोल्ड करेंगे।

अन्य कार्यक्रम विभिन्न प्रणालियों का उपयोग करते हैं - बहुत सारे उत्तर टर्मिनलों पर बोल्ड टेक्स्ट प्रिंट करने के लिए पूरी तरह से अलग प्रणाली की व्याख्या करते हैं। मुझे खुशी है कि आपको पता चला कि आप कैसे करना चाहते हैं, लेकिन कुछ बिंदु पर, आप यह समझना चाहेंगे कि तार और मेमोरी कैसे काम करते हैं।


9
जैसा कि इस जवाब से असंतुष्ट लग सकता है, यह शायद वह है जो पूछे गए सवाल का सबसे सही तरीके से जवाब देता है । यह एक पायथन सवाल नहीं है, बल्कि एक जो भी है- एक -से-प्रतिपादन प्रश्न है।
जॉन वाई

8
बात यह है कि, इस सवाल के जवाब में दिलचस्पी रखने वाला हर व्यक्ति द्विआधारी को समझता है और यह कैसे स्ट्रिंग का प्रतिनिधित्व करने के लिए उपयोग किया जाता है। हम रुचि रखते हैं कि पाठ को बोल्ड बनाने के लिए अजगर का उपयोग कैसे किया जाए, जिसका उत्तर ऊपर दिया गया है। यह उत्तर पांडित्य पर आधारित है।
ट्रेवर

16

यह निर्भर करता है कि आप linux / unix का उपयोग कर रहे हैं:

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

शब्द textबोल्ड होना चाहिए।


13

कलरमा की जाँच करें । यह जरूरी नहीं है कि यह बोल्डिंग में मदद करे ... लेकिन आप विंडोज और लिनक्स दोनों पर रंगीन आउटपुट कर सकते हैं और चमक को नियंत्रित कर सकते हैं:

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

13

पायथन में टेक्स्ट (बोल्ड, अंडरलाइन, कलर्स ..) को फॉर्मेट करने के लिए बहुत उपयोगी मॉड्यूल है । यह उपयोग करता है cursesलेकिन यह उपयोग करने के लिए बहुत सीधा है।

एक उदाहरण:

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

अपडेट:

मैंने इसे थोड़ा और पाइथोनिक बनाने के लिए color.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")

2
ImportError: No module named terminal ImportError: No module named render वास्तव में यह एकमात्र ऐसी साइट है जो मुझे "टर्मिनल" मॉड्यूल के बारे में मिल सकती है। कृपया विस्तार से बताएं।
खनिज

उपरोक्त लिंक में terminalमॉड्यूल शामिल था , लेकिन उन्होंने पृष्ठ को पुनर्निर्देशित किया है। यहाँ पर google द्वारा कोड किया गया कोड है
डिएगो नवारो

वैसे भी, मैंने इसे हल करने के लिए अपना खुद का अजगर मॉड्यूल बनाया है, इसे देखें @mineral ;-)
डिएगो नवारो

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

\ 033 [1 मीटर टर्मिनल में बोल्ड के लिए यूनिकोड है \ "033 [संपादित करें पाठ और वापस डिफ़ॉल्ट टेक्स्ट फॉर्मेट के अंत के लिए यूनिकोड है !!!!!

यदि आप टर्मिनल के सभी आगामी पाठ की तुलना में \ 033 [0m का उपयोग नहीं करते हैं तो बोल्ड हो जाएगा !!!!!!!!!


कृपया कुछ स्पष्टीकरण जोड़ें
हर्ष बयानी

2
जवाब देने से पहले कृपया अन्य उत्तर पढ़ें! इस प्रश्न के अधिक स्पष्टीकरण के साथ बहुत सारे सही उत्तर हैं। आप कुछ भी उपयोगी नहीं जोड़ रहे हैं।
मोहम्मद देहघन

6

termcolorमॉड्यूल स्थापित करें

sudo pip install termcolor

और फिर रंगीन पाठ के लिए यह प्रयास करें

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

या यह बोल्ड टेक्स्ट के लिए:

from termcolor import colored
print colored('Hello', attrs=['bold'])

अजगर 3 में आप वैकल्पिक रूप से उपयोग कर सकते हैं cprintमें निर्मित के लिए एक ड्रॉप में स्थानापन्न के रूप में print, या रंग के लिए वैकल्पिक दूसरे पैरामीटर के साथ attrsबोल्ड (और अन्य तरह के रूप में विशेषताओं के लिए पैरामीटर underlineसामान्य नामित के अलावा) printजैसे तर्क fileया end

import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)

पूर्ण प्रकटीकरण, यह उत्तर भारी रूप से ओलु स्मिथ के उत्तर पर आधारित है और एक संपादन के रूप में अभिप्रेत था , जिसने इस पृष्ठ पर शोर को काफी कम कर दिया होगा, लेकिन कुछ समीक्षकों की गलत धारणा के कारण कि एक संपादन को क्या माना जाता है, मैं मजबूर हूं। यह एक अलग जवाब देने के लिए।


3

कुछ टर्मिनल रंगीन पाठ को मुद्रित करने की अनुमति देते हैं। कुछ रंग ऐसे दिखते हैं मानो वे "बोल्ड" हों। प्रयत्न:

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

अनुक्रम '033 [1; 37 मीटर' "चमकीले सफेद" में छपाई शुरू करने के लिए कुछ टर्मिनल बनाता है जो बोल्ड सफेद जैसा लग सकता है। '\ 033 [0; 0 मी' इसे बंद कर देगा।


3

यह मानते हुए कि आप वास्तव में "प्रिंट" का मतलब असली प्रिंटिंग टर्मिनल पर हैं:

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


2

सरल बोल्डनेस - दो लाइन कोड

पायथन 3 में आप colorama - simple_colors: (सिंपल कलर्स पेज: https://pypi.org/project/simple-colors/ - हेडिंग 'यूसेज' पर जा सकते हैं।) इससे पहले कि आप नीचे क्या कर रहे हैं, आप सुनिश्चित करें pip install simple_colours

from simple_colors import *
print(green('hello', 'bold'))

यहां छवि विवरण दर्ज करें


धन्यवाद! हमें बस पहले simple_colors स्थापित करने की आवश्यकता है:pip install simple_colors
yzerman
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.