Welches Terminal verwenden Sie? Sind Sie unter Unix oder Windows?
Sjoerd
Ich benutze Safari. Ich habe gerade herausgefunden, dass ich HTML-Tags in Python verwenden kann.
Jia-Luo
Antworten:
376
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)
Ich mag die Art und Weise, wie Sie nicht nur Fettdruck gemacht haben, sondern eine ganze Klasse erstellt haben, auf die sie verweisen und die allen Benutzern beim Anzeigen helfen kann. Danke dir.
GreenHawk1220
3
Ich werde das als Diktat verwenden, nicht als Klasse. Vielen Dank!
dvlden
6
Es wird Folgendes gedruckt:[1mHello World ![0m
Ich arbeite
Kann ich auch Fett mit Farbe kombinieren? @Boubakr
Alper
61
Benutze das:
print'\033[1m'+'Hello'
Und um wieder normal zu werden:
print'\033[0m'
Diese Seite ist eine gute Referenz zum Drucken in Farben und Schriftstärken. Gehen Sie zu dem Abschnitt "Grafikmodus einstellen:".
Beachten Sie, dass dies nicht auf allen Betriebssystemen funktioniert, Sie jedoch keine Module benötigen.
Wenn ich raten müsste, dass jemand dies abgelehnt hat, weil es die eigentliche Frage, wie man etwas in Fettdruck druckt, nicht beantwortet.
Christian
Du hast Recht, es gab ein Update. Tut mir leid wegen den Jungs.
Olu Smith
22
In der direkten Computerprogrammierung gibt es kein "Drucken von fettem Text". Lassen Sie uns ein wenig sichern und verstehen, dass Ihr Text eine Folge von Bytes ist und Bytes nur Bündel von Bits sind. Für den Computer ist hier Ihr "Hallo" -Text in Binärform .
0110100001100101011011000110110001101111
Jede Eins oder Null ist ein bisschen. Alle acht Bits ist ein Byte. Jedes Byte ist in einer Zeichenfolge wie in Python 2.x ein Buchstaben- / Zahlen- / Interpunktionselement (als Zeichen bezeichnet). Also zum Beispiel:
0110100001100101011011000110110001101111
h e l l o
Der Computer übersetzt diese Bits in Buchstaben, aber in einer herkömmlichen Zeichenfolge (ASCII-Zeichenfolge genannt) gibt es nichts, was auf fetten Text hinweist. In einer Unicode-Zeichenfolge, die etwas anders funktioniert, kann der Computer Zeichen in internationaler Sprache wie chinesische unterstützen, aber auch hier gibt es nichts zu sagen, dass einige Texte fett und andere nicht fett sind. Es gibt auch keine explizite Schriftart, Textgröße usw.
Beim Drucken von HTML geben Sie immer noch eine Zeichenfolge aus. Das Computerprogramm, das diese Zeichenfolge liest (ein Webbrowser), ist jedoch so programmiert, dass Text wie folgt interpretiert wird this is <b>bold</b>: "Dies ist fett " wenn es Ihre Buchstabenfolge in Pixel auf dem Bildschirm konvertiert. Wenn der gesamte Text WYSIWYG wäre, würde der Bedarf an HTML selbst verringert - Sie würden einfach Text in Ihrem Editor auswählen und fett schreiben, anstatt den HTML-Code einzugeben.
Andere Programme verwenden andere Systeme - viele Antworten erklärten ein völlig anderes System zum Drucken von fettem Text auf Terminals. Ich bin froh, dass Sie herausgefunden haben, wie Sie das tun, was Sie tun möchten, aber irgendwann möchten Sie verstehen, wie Zeichenfolgen und Speicher funktionieren.
Als unbefriedigend , da diese Antwort könnte scheinen, ist es wahrscheinlich derjenige , der die meisten richtig beantwortet die Frage , wie gefragt . Es ist überhaupt keine Python-Frage, sondern eine Frage, was auch immer das Rendern tut .
John Y
8
Die Sache ist, jeder, der an der Antwort auf diese Frage interessiert ist, versteht Binär und wie es verwendet wird, um Zeichenfolgen darzustellen. Wir sind daran interessiert, wie man Python verwendet, um Text fett erscheinen zu lassen, was oben beantwortet wird. Diese Antwort ist weit über pedantisch.
Trevor
16
Dies hängt davon ab, ob Sie Linux / Unix verwenden:
>>> start ="\033[1m">>> end ="\033[0;0m">>>print"The"+ start +"text"+ end +" is bold."The text is bold.
Schauen Sie sich colorama an . Es hilft nicht unbedingt beim Fettdruck ... aber Sie können sowohl unter Windows als auch unter Linux eine kolorierte Ausgabe durchführen und die Helligkeit steuern:
from colorama import*
init(autoreset=True)printFore.RED +'some red text'printStyle.BRIGHT +Fore.RED +'some bright red text'
In Python gibt es ein sehr nützliches Modul zum Formatieren von Text (fett, unterstrichen, Farben ..). Es verwendet curseslib, ist aber sehr einfach zu bedienen.
Ein Beispiel:
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')
AKTUALISIERT:
Ich habe ein einfaches Modul namens colours.py geschrieben , um dies etwas pythonischer zu gestalten:
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 Eigentlich ist dies die einzige Seite, die ich über das "Terminal" -Modul finden konnte. Bitte erläutern Sie.
Mineralien
Der obige Link enthielt früher das terminalModul, aber sie haben die Seite umgeleitet. Hier ist der von Google zwischengespeicherte Code .
Diego Navarro
Wie auch immer, ich habe mein eigenes Python-Modul erstellt, um dieses Problem zu lösen. Schauen Sie sich @minerals an ;-)
Diego Navarro
8
print'\033[1m Your Name \033[0m'
\ 033 [1m ist der Unicode für Fettdruck im Terminal \ 033 [0m ist der Unicode für das Beenden des bearbeiteten Textes und das Zurücksetzen des Standardtextformats !!!!!
Wenn Sie \ 033 [0m nicht verwenden, wird der gesamte kommende Text des Terminals fett gedruckt !!!!!!!!!
Bitte lesen Sie eine andere Antwort, bevor Sie antworten! Diese Frage hat viele richtige Antworten mit mehr Erklärungen. Sie fügen nichts Nützliches hinzu.
Mohammad Dehghan
6
Installieren Sie das termcolorModul
sudo pip install termcolor
und versuchen Sie dies für farbigen Text
from termcolor import colored
print colored('Hello','green')
oder dies für fetten Text:
from termcolor import colored
print colored('Hello', attrs=['bold'])
In Python 3 können Sie alternativ cprintals Ersatz für das integrierte printElement den optionalen zweiten Parameter für Farben oder den attrsParameter für Fettdruck (und andere Attribute wie underline) zusätzlich zu den normal benannten printArgumenten wie fileoder verwenden end.
import sys
from termcolor import cprint
cprint('Hello','green', attrs=['bold'], file=sys.stderr)
Vollständige Offenlegung, diese Antwort basiert stark auf Olu Smiths Antwort
und war als Bearbeitung gedacht , was das Rauschen auf dieser Seite erheblich reduziert hätte, aber aufgrund des fehlgeleiteten Konzepts einiger Rezensenten, was eine Bearbeitung sein soll, bin ich jetzt gezwungen um dies zu einer separaten Antwort zu machen.
Angenommen, Sie meinen wirklich "Drucken" auf einem echten Druckterminal:
>>> 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'
Einige Terminals ermöglichen das Drucken von farbigem Text. Einige Farben sehen aus, als wären sie "fett". Versuchen:
print('\033[1;37mciao!')
Die Sequenz '\ 033 [1; 37m' veranlasst einige Terminals, mit dem Drucken in "hellem Weiß" zu beginnen, das möglicherweise etwas wie fettgedrucktes Weiß aussieht. '\ 033 [0; 0m' schaltet es aus.
In Python 3 können Sie colorama - simple_colors verwenden: (Seite Simple Colors: https://pypi.org/project/simple-colors/ - gehen Sie zur Überschrift 'Verwendung'.) Bevor Sie die folgenden Schritte ausführen , stellen Sie sicher, dass Sie pip install simple_colours.
from simple_colors import*print(green('hello','bold'))
Antworten:
quelle
[1mHello World ![0m
Benutze das:
Und um wieder normal zu werden:
Diese Seite ist eine gute Referenz zum Drucken in Farben und Schriftstärken. Gehen Sie zu dem Abschnitt "Grafikmodus einstellen:".
Beachten Sie, dass dies nicht auf allen Betriebssystemen funktioniert, Sie jedoch keine Module benötigen.
quelle
Hierfür können Sie termcolor verwenden:
So drucken Sie eine farbige Fettschrift:
Weitere Informationen finden Sie unter Termcolor auf PyPi .
simple-colours ist ein weiteres Paket mit ähnlicher Syntax:
Das Äquivalent in Colorado kann sein
Style.BRIGHT
.quelle
In der direkten Computerprogrammierung gibt es kein "Drucken von fettem Text". Lassen Sie uns ein wenig sichern und verstehen, dass Ihr Text eine Folge von Bytes ist und Bytes nur Bündel von Bits sind. Für den Computer ist hier Ihr "Hallo" -Text in Binärform .
Jede Eins oder Null ist ein bisschen. Alle acht Bits ist ein Byte. Jedes Byte ist in einer Zeichenfolge wie in Python 2.x ein Buchstaben- / Zahlen- / Interpunktionselement (als Zeichen bezeichnet). Also zum Beispiel:
Der Computer übersetzt diese Bits in Buchstaben, aber in einer herkömmlichen Zeichenfolge (ASCII-Zeichenfolge genannt) gibt es nichts, was auf fetten Text hinweist. In einer Unicode-Zeichenfolge, die etwas anders funktioniert, kann der Computer Zeichen in internationaler Sprache wie chinesische unterstützen, aber auch hier gibt es nichts zu sagen, dass einige Texte fett und andere nicht fett sind. Es gibt auch keine explizite Schriftart, Textgröße usw.
Beim Drucken von HTML geben Sie immer noch eine Zeichenfolge aus. Das Computerprogramm, das diese Zeichenfolge liest (ein Webbrowser), ist jedoch so programmiert, dass Text wie folgt interpretiert wird
this is <b>bold</b>
: "Dies ist fett " wenn es Ihre Buchstabenfolge in Pixel auf dem Bildschirm konvertiert. Wenn der gesamte Text WYSIWYG wäre, würde der Bedarf an HTML selbst verringert - Sie würden einfach Text in Ihrem Editor auswählen und fett schreiben, anstatt den HTML-Code einzugeben.Andere Programme verwenden andere Systeme - viele Antworten erklärten ein völlig anderes System zum Drucken von fettem Text auf Terminals. Ich bin froh, dass Sie herausgefunden haben, wie Sie das tun, was Sie tun möchten, aber irgendwann möchten Sie verstehen, wie Zeichenfolgen und Speicher funktionieren.
quelle
Dies hängt davon ab, ob Sie Linux / Unix verwenden:
Das Wort
text
sollte fett sein.quelle
Schauen Sie sich colorama an . Es hilft nicht unbedingt beim Fettdruck ... aber Sie können sowohl unter Windows als auch unter Linux eine kolorierte Ausgabe durchführen und die Helligkeit steuern:
quelle
In Python gibt es ein sehr nützliches Modul zum Formatieren von Text (fett, unterstrichen, Farben ..). Es verwendet
curses
lib, ist aber sehr einfach zu bedienen.Ein Beispiel:
AKTUALISIERT:
Ich habe ein einfaches Modul namens colours.py geschrieben , um dies etwas pythonischer zu gestalten:
quelle
ImportError: No module named terminal
ImportError: No module named render
Eigentlich ist dies die einzige Seite, die ich über das "Terminal" -Modul finden konnte. Bitte erläutern Sie.terminal
Modul, aber sie haben die Seite umgeleitet. Hier ist der von Google zwischengespeicherte Code .\ 033 [1m ist der Unicode für Fettdruck im Terminal \ 033 [0m ist der Unicode für das Beenden des bearbeiteten Textes und das Zurücksetzen des Standardtextformats !!!!!
Wenn Sie \ 033 [0m nicht verwenden, wird der gesamte kommende Text des Terminals fett gedruckt !!!!!!!!!
quelle
Installieren Sie das
termcolor
Modulund versuchen Sie dies für farbigen Text
oder dies für fetten Text:
In Python 3 können Sie alternativ
cprint
als Ersatz für das integrierteprint
Element den optionalen zweiten Parameter für Farben oder denattrs
Parameter für Fettdruck (und andere Attribute wieunderline
) zusätzlich zu den normal benanntenprint
Argumenten wiefile
oder verwendenend
.quelle
Angenommen, Sie meinen wirklich "Drucken" auf einem echten Druckterminal:
Senden Sie das einfach an Ihre
stdout
.quelle
Einige Terminals ermöglichen das Drucken von farbigem Text. Einige Farben sehen aus, als wären sie "fett". Versuchen:
Die Sequenz '\ 033 [1; 37m' veranlasst einige Terminals, mit dem Drucken in "hellem Weiß" zu beginnen, das möglicherweise etwas wie fettgedrucktes Weiß aussieht. '\ 033 [0; 0m' schaltet es aus.
quelle
Einfache Kühnheit - zweizeiliger Code
In Python 3 können Sie colorama - simple_colors verwenden: (Seite Simple Colors: https://pypi.org/project/simple-colors/ - gehen Sie zur Überschrift 'Verwendung'.) Bevor Sie die folgenden Schritte ausführen , stellen Sie sicher, dass Sie
pip install simple_colours
.quelle
pip install simple_colors