difflib ist ein Python-Modul, das sich auf den Vergleich von Datensätzen (insbesondere Strings) konzentriert. Um eine konkrete Vorstellung davon zu bekommen, was Sie mit diesem Modul tun können, schauen wir uns einige seiner häufigsten Funktionen an.
SequenceMatcher ist eine Funktion, die zwei Zeichenfolgen vergleicht und Daten basierend auf ihrer Ähnlichkeit zurückgibt. Durch die Verwendung von ratio() können wir diese Ähnlichkeit in Bezug auf Verhältnis/Prozentsatz quantifizieren.
Syntax:
SequenceMatcher(None, string1, string2)
Hier ist ein einfaches Beispiel, das zeigt, was diese Funktion tut:
from difflib import SequenceMatcher phrase1 = "Tandrew loves Trees." phrase2 = "Tandrew loves to mount Trees." similarity = SequenceMatcher(None, phrase1, phrase2) print(similarity.ratio()) # Output: 0.8163265306122449
Als nächstes kommt get_close_matches, das die nächste Übereinstimmung mit der als Parameter übergebenen Zeichenfolge zurückgibt.
Syntax:
get_close_matches(word, possibilities, result_limit, min_similarity)
Hier ist eine Erklärung dieser möglicherweise verwirrenden Parameter:
Wort ist das Zielwort, das die Funktion untersucht.
possibilities ist ein Array mit den Übereinstimmungen, nach denen die Funktion sucht und die nächste Übereinstimmung findet.
result_limit ist die Grenze für die Anzahl der zurückgegebenen Ergebnisse (optional).
min_similarity ist die minimale Ähnlichkeit, die zwei Wörter haben müssen, um von der Funktion als Rückgabewert betrachtet zu werden (optional).
Hier ist ein Beispiel für die Verwendung:
from difflib import get_close_matches word = 'Tandrew' possibilities = ['Andrew', 'Teresa', 'Kairu', 'Janderson', 'Drew'] print(get_close_matches(word, possibilities)) # Output: ['Andrew']
Darüber hinaus gibt es noch ein paar andere Methoden und Klassen, die zu Difflib gehören und die Sie ausprobieren können: unified_diff, Differ und diff_bytes
sched ist ein nützliches Modul, das konzentriert sich auf die Ereignisplanung für plattformübergreifendes Arbeiten, im Gegensatz zu Tools wie dem Taskplaner unter Windows. Wenn Sie dieses Modul verwenden, verwenden Sie in den meisten Fällen die Klasse „Schedular“.
Das gebräuchlichere Zeitmodul wird normalerweise zusammen mit sched verwendet, da beide sich mit den Konzepten von Zeit und Terminplanung befassen.
Erstellen Sie eine Zeitplaninstanz:
schedular_name = sched.schedular(time.time, time.sleep)
Von dieser Instanz aus können verschiedene Methoden aufgerufen werden.
Wenn run() aufgerufen wird, werden die Ereignisse/Einträge im Scheduler der Reihe nach aufgerufen. Diese Funktion erscheint normalerweise am Ende der Sendung, nachdem die Veranstaltung geplant wurde. Durchsuchen Sie außerdem das öffentliche Linux-Konto, um zu erfahren, wie Sie im Hintergrund auf „Git Books“ antworten und ein Überraschungsgeschenkpaket erhalten.
enterabs() ist eine Funktion, die im Wesentlichen Ereignisse zur internen Warteschlange des Planers hinzufügt. Es empfängt mehrere Parameter in der folgenden Reihenfolge:
Hier ist ein Beispiel, das zeigt, wie diese beiden Funktionen zusammen verwendet werden:
import sched import time def event_notification(event_name): print(event_name + " has started") my_schedular = sched.scheduler(time.time, time.sleep) closing_ceremony = my_schedular.enterabs(time.time(), 1, event_notification, ("The Closing Ceremony", )) my_schedular.run() # Output: The Closing Ceremony has started
Es gibt auch mehrere Funktionen, die die Verwendung des Sched-Moduls erweitern: cancel(), enter() und empty().
binaascii ist ein Modul zur Konvertierung zwischen Binär und ASCII.
b2a_base64 ist eine Methode im Binaascii-Modul, die Base64-Daten in Binärdaten konvertiert. Hier ist ein Beispiel für diesen Ansatz:
import base64 import binascii msg = "Tandrew" encoded = msg.encode('ascii') base64_msg = base64.b64encode(encoded) decode = binascii.a2b_base64(base64_msg) print(decode) # Output: b'Tandrew'
Dieser Code sollte selbsterklärend sein. Einfach ausgedrückt umfasst es die Kodierung, die Konvertierung in Base64 und die Rückkonvertierung in Binärform mithilfe der Methode b2a_base64.
Hier sind einige weitere Funktionen, die zum binaascii-Modul gehören: a2b_qp(), b2a_qp() und a2b_uu().
tty ist ein Modul, das mehrere Hilfsfunktionen enthält, die für den Umgang mit TTY-Geräten verwendet werden können. Hier sind seine beiden Funktionen:
setraw() ändert den Modus des Dateideskriptors in seinem Argument (fd) in raw.
setcbreak() ändert den Modus des Dateideskriptors in seinem Argument (fd) in cbreak.
Dieses Modul ist nur unter Unix verfügbar, da das Termios-Modul verwendet werden muss, z. B. die Angabe des zweiten Parameters (when=termios.TCSAFLUSH) in den beiden oben genannten Funktionen.
weakref ist ein Modul zum Erstellen schwacher Referenzen auf Objekte in Python.
Eine schwache Referenz ist eine Referenz, die ein bestimmtes Objekt nicht davor schützt, vom Garbage-Collection-Mechanismus erfasst zu werden.
Die folgenden zwei Funktionen beziehen sich auf dieses Modul:
Verwendungsbeispiele für schwachref und seine Funktionen:
import weakref class Book: def print_type(self): print("Book") lotr = Book num = 1 rcount_lotr = str(weakref.getweakrefcount(lotr)) rcount_num = str(weakref.getweakrefcount(num)) rlist_lotr = str(weakref.getweakrefs(lotr)) rlist_num = str(weakref.getweakrefs(num)) print("number of weakrefs of 'lotr': " + rcount_lotr) print("number of weakrefs of 'num': " + rcount_num) print("Weakrefs of 'lotr': " + rlist_lotr) print("Weakrefs of 'num': " + rlist_num) # Output: # number of weakrefs of 'lotr': 1 # number of weakrefs of 'num': 0 # Weakrefs of 'lotr': [] # Weakrefs of 'num': []
Ausgabe Wir können seine Wirkung anhand des Rückgabewerts der Ausgabefunktion erkennen. Da num keine schwachen Referenzen hat, ist das von getweakrefs() zurückgegebene Array leer. Erweiterungen: Privatarbeit übernehmen
Hier sind einige weitere Funktionen im Zusammenhang mit dem Weakref-Modul: ref(), Proxy() und _remove_dead_weakref().
Das obige ist der detaillierte Inhalt vonWas sind die gängigen Python-Bibliotheken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!