[Python] Ändern Sie die Textfarbe und Hintergrundfarbe eines bestimmten Schlüsselworts in der Druckausgabe

Zweck dieses Artikels

In Python habe ich eine Funktion erstellt, um ein bestimmtes Wort wie folgt hervorzuheben und auszugeben. image.png Am Ende der Seite befindet sich eine [Codeliste](# Codeliste).

Kommentar

Das ist alles was Sie brauchen.

import re

Erstellen Sie zunächst ein Wörterbuch, um die Textfarbe und die Hintergrundfarbe zu ändern. Diesmal gelbe Hintergrundfarbe </ font> für `" gelb "` `, <font color =" Red "> rotes Zeichen für` `" rot "` Ich habe es wie </ font> eingestellt.

color_dic = {'yellow':'\033[43m', 'red':'\033[31m', 'blue':'\033[34m', 'end':'\033[0m'}

Als nächstes legen Sie das Schlüsselwort fest, das Sie hervorheben möchten. Dieses Mal habe ich den Präfekturnamen als Schlüsselwort festgelegt.

keyword = ["Tokio", "Präfektur Chiba", "Saitama", "Präfektur Kanagawa", ...]

Die oben festgelegten Schlüsselwörter werden in der Reihenfolge mit der for-Anweisung durchsucht. Die Reihenfolge der Liste wird hier jedoch wichtig, da es sich je nach Schlüsselwort möglicherweise um eine Teilzeichenfolge eines anderen Schlüsselworts handelt. Zum Beispiel bei der Suche nach einer Stadt, einem Bezirk, einer Stadt oder einem Dorf.

keyword = [... , "Tsu Stadt", "大Tsu Stadt", ...]

Wenn ja, suchen Sie einfach nach dem Wort von links und färben Sie die Treffer wie unten gezeigt. image.png

Die Lösung besteht also darin, die Wörter in der Liste in der Reihenfolge der zunehmenden Anzahl von Zeichen zu sortieren. Dann wird zuerst nach "Otsu City" gesucht, damit das obige Problem nicht auftritt. Unten ist der Code.

#keyword = sorted(keyword, key=lambda x:len(x), reverse=True)
#Sie haben einen besseren Weg aufgezeigt, um in den Kommentaren zu schreiben.
keyword.sort(key=len, reverse=True) 

Erstellen Sie schließlich eine Funktion, die den Ausgabetext, die Schlüsselwörter und die Farbspezifikationsinformationen empfängt und ausgibt.

def print_hl(text, keyword, color="yellow"):
    for kw in keyword:
        bef = kw
        aft = color_dic[color] + kw + color_dic["end"]
        text = re.sub(bef, aft, text)
    print(text)

Das Ausführungsbeispiel lautet wie folgt.

text = "Ich lebe in Tokyo"

print_hl(text, keyword)

image.png

das ist alles!

Codeliste

import re

color_dic = {'yellow':'\033[43m', 'red':'\033[31m', 'blue':'\033[34m', 'end':'\033[0m'}

def print_hl(text, keyword, color="yellow"):
    for kw in keyword:
        bef = kw
        aft = color_dic[color] + kw + color_dic["end"]
        text = re.sub(bef, aft, text)
    print(text)

keyword = ["Tokio", "Präfektur Chiba", "Saitama", "Präfektur Kanagawa"]
keyword.sort(key=len, reverse=True)
text = "Ich lebe in Tokyo"

print_hl(text, keyword)

Referenz

So geben Sie farbige Ausgaben an die Konsole aus

Recommended Posts

[Python] Ändern Sie die Textfarbe und Hintergrundfarbe eines bestimmten Schlüsselworts in der Druckausgabe
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
Ausgabe in Form eines Python-Arrays
Ändern Sie die Sättigung und Helligkeit von Farbspezifikationen wie # ff000 in Python 2.5
Ändern Sie das Standardausgabeziel in eine Datei in Python
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
Öffnen Sie eine Excel-Datei in Python und färben Sie die Karte von Japan
Geben Sie die Anzahl der CPU-Kerne in Python aus
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Ändern Sie die Farbe von Fabric-Fehlern und Warnungen
Berücksichtigung der Stärken und Schwächen von Python
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Verwenden Sie libsixel, um Sixel in Python auszugeben und das Matplotlib-Diagramm an das Terminal auszugeben.
Füllen Sie den Hintergrund mit einer einzigen Farbe mit OpenCV2 + Python
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Automatisieren Sie das Entfernen des Hintergrunds für die neuesten Porträts in einem Verzeichnis mit Python und API
Das Ergebnis der Erstellung eines Kartenalbums italienischer Jungvermählten in Python und dessen Weitergabe
[Maschinelles Lernen] "Erkennung von Abnormalitäten und Erkennung von Änderungen" Zeichnen wir die Abbildung von Kapitel 1 in Python.
[Mac] Eine supereinfache Möglichkeit, Systembefehle in Python auszuführen und die Ergebnisse auszugeben
[Sublime Text 2] Führen Sie immer eine bestimmte Datei im Projekt aus
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
[Tipps] Probleme und Lösungen bei der Entwicklung von Python + Kivy
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Geben Sie die Codierung der Unicode-Zeichenfolge in der Python 2.x-Druckanweisung an
Die Geschichte von Python und die Geschichte von NaN
Zählen Sie die Anzahl der thailändischen und arabischen Zeichen in Python gut
So bestimmen Sie die Existenz eines Selenelements in Python
Ändern Sie den Hintergrund von Ubuntu (GNOME)
Die Farbextraktion mit Python + OpenCV löste das Rätsel des grünen Hintergrunds
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
[Einführung in Python] So geben Sie eine Zeichenfolge in einer Print-Anweisung aus
So überprüfen Sie die Speichergröße einer Variablen in Python
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Fühlen Sie sich frei, das Legendenlabel mit Seaborn in Python zu ändern
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
[Python] Die Rolle des Sterns vor der Variablen. Teilen Sie den Eingabewert und weisen Sie ihn einer Variablen zu
Exportieren und Ausgeben von Dateien in Python
Lesen und Schreiben von Text in Python
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
[Python / Jupyter] Übersetzen Sie den Kommentar des in die Zwischenablage kopierten Programms und fügen Sie ihn in eine neue Zelle ein.
Richten Sie mit Python einen Dummy-SMTP-Server ein und überprüfen Sie den Sendevorgang von Action Mailer
So geben Sie eine Zeichenfolge in Python ein und geben sie unverändert oder in die entgegengesetzte Richtung aus.
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Berechnen Sie die kürzeste Route eines Diagramms mit der Dyxtra-Methode und Python
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Diagramm der Geschichte der Anzahl der Ebenen des tiefen Lernens und der Änderung der Genauigkeit
Python> enthält die Buchstaben mm> nicht, wenn "mm" nicht im Text enthalten ist: / print "mm nicht enthalten"
Ein leicht verständlicher Vergleich der grundlegenden Grammatik von Python und Go
Überprüfen Sie die speicherinterne Byte-Zeichenfolge der Gleitkommazahl in Python