Generieren Sie in Python mit Leichtigkeit zufällige Wörter und Sätze
GitHub Repository | Pypi | Dokumentation
Wonderwords ist ein Python -Paket, das nützlich zum Generieren von zufälligen Wörtern und strukturierten zufälligen Sätzen ist. Es wird auch mit einer farbenfrohen Befehlszeilenschnittstelle ausgestattet, um schnell zufällige Wörter zu generieren. Die neueste Version ist auf GitHub verfügbar, während die stabile Version auf PYPI erhältlich ist.
Hier ist, was Wonderwords in der Lage ist:
Um die neueste Version von Wonderwords zu installieren, verwenden Sie Ihren bevorzugten Paketmanager für den Python -Paketindex, um das wonderwords -Paket zu installieren. Zum Beispiel mit PIP:
pip install wonderwordsUm Wonderwords mit PIP -Verwendung zu aktualisieren:
pip install --upgrade wonderwordsUm zu überprüfen, ob die Installation funktioniert hat, importieren Sie Wonderwords in Python:
import wonderwords Wenn Sie einen ModuleNotFound -Fehler erhalten, stellen Sie sicher, dass Sie Wonderwords aus dem obigen Schritt installiert haben. Für weitere Ausgaben öffnen Sie ein neues Problem auf der Github -Seite.
In diesem Abschnitt wird die Verwendung von Wonderwords kurz beschrieben. Da Wonderwords über eine Befehlszeilenschnittstelle und ein Python -Modul verfügt, finden Sie zwei Unterabschnitte.
Die Basis -Random -Word -Generierungsklasse ist die RandomWord -Klasse. Sie können Wörter mit der word generieren:
from wonderwords import RandomWord
r = RandomWord ()
# generate a random word
r . word ()
# random word that starts with a and ends with en
r . word ( starts_with = "a" , ends_with = "en" )
# generate a random noun or adjective, by default all parts of speech are included
r . word ( include_parts_of_speech = [ "nouns" , "adjectives" ])
# generate a random word between the length of 3 and 8 characters
r . word ( word_min_length = 3 , word_max_length = 8 )
# generate a random word with a custom Python regular expression
r . word ( regex = ".*a" )
# some of the words in the default word lists have spaces, such as 'contact lens'
# this option disables them
r . word ( exclude_with_spaces = True )
# you can combine multiple filtering options
r . word ( starts_with = "ru" , word_max_length = 10 , include_parts_of_speech = [ "verbs" ]) Sie können auch eine Liste aller Wörter erhalten, die einige Kriterien mit der filter entsprechen:
# get a list of ALL words that start with "am"
r . filter ( starts_with = "am" )
# you can use all the options found in the word method:
r . filter ( ends_with = "k" , include_parts_of_speech = [ "verbs" ], word_min_length = 4 ) Sie können auch eine zufällige Liste von Wörtern mit der random_words -Methode generieren. Dies ähnelt der Filtermethode, außer dass Sie die Menge der zurückgegebenen Wörter angeben, und die Wörter werden zufällig ausgewählt. Wenn es nicht genügend Worte gibt, um die Menge zu erfüllen, wird eine NoWordsToChooseFrom -Ausnahme angehoben:
# get a list of 3 random nouns
r . random_words ( 3 , include_parts_of_speech = [ "nouns" ])
# you can use all the options found in the word method
r . random_words ( 5 , starts_with = "o" , word_min_length = 10 )
# if the amount of words you want to get is larger than the amount of words
# there are, a NoWordsToChooseFrom exception is raised:
r . random_words ( 100 , starts_with = "n" , word_min_length = 16 )
# there are less than 100 words that are at least 16 letters long and start with
# n, so an exception is raised
# you can silence the NoWordsToChooseFrom exception and return all words even
# if there are less, by setting return_less_if_necessary to True
r . random_words ( 100 , starts_with = "n" , word_min_length = 16 , return_less_if_necessary = True ) Das Erzeugen zufälliger Sätze ist die Verwendung der RandomSentence -Klasse einfach:
from wonderwords import RandomSentence
s = RandomSentence ()
# Get a random bare-bone sentence
s . bare_bone_sentence ()
# Get a random bare-bone sentence with a direct object
s . simple_sentence ()
# Get a random bare-bone sentence with an adjective
s . bare_bone_with_adjective ()
# Get a random sentence with a subject, predicate, direct object and adjective
s . sentence () Wörter sind in Kategorien wie "Substantiv", "Verben" und "Adjektive" organisiert. Was wäre, wenn Sie Ihre eigenen Wörterkategorien hätten? Sie können Ihre benutzerdefinierten Kategorien angeben, wenn Sie die RandomWord -Klasse instanziieren:
from wonderwords import RandomWord
cars = [ "Chevrolet" , "Subaru" , "Tesla" ]
airplanes = [ "Boeing" , "Airbus" , "Cessna" ]
w = RandomWord ( cars = cars , airplanes = airplanes )
# Will return a random car or airplane
w . word ()
# Will return a random car
w . word ( include_categories = [ "cars" ])
# You can also mix and match custom categories with defaults
from wonderwords import Defaults
proper_nouns = [ "Austin" , "Seattle" , "New York" ]
w2 = RandomWord ( proper_nouns = proper_nouns , common_nouns = Defaults . NOUNS )
# Will return either Seattle or seat
w . word ( regex = "[Ss]eat.*" )Beginnend mit der Version 2.3 unterstützt Wonderwords ausdrücklich, dass sie Schimpfwörter aus Wörternlisten herausfiltern. Im Moment ist dies rudimentär:
from wonderwords import is_profanity , filter_profanity
# Test against words that could possibly be offensive. Good of user-facing apps.
is_profanity ( "apple" ) # False
# Can be done with a list
words = [ ... ]
# The function returns a generator, so we convert it to a list
words_clean = list ( filter_profanity ( words ))In der Dokumentation befindet sich eine fortgeschrittenere Nutzung (und ein Tutorial!), Z. B. das Hinzufügen benutzerdefinierter Wörterkategorien. Die vollständige Dokumentation mit allen Informationen finden Sie unter: https://wonderwords.readthedocs.io
HINWEIS : Stellen Sie vor Verwendung der Befehlszeilenschnittstelle (CLI) sicher, dass Sie alle erforderlichen Abhängigkeiten für die CLI unter Verwendung von pip install wonderwords[cli] installiert haben. Wonderwords erfordert normalerweise keine Abhängigkeiten, verwendet jedoch reich für die farbige Ausgabe in der Befehlszeile.
Wonderwords bietet auch eine Befehlszeilenschnittstelle, die mit dem wonderwords -Befehl verwendet werden kann. Verwendung:
usage: wonderwords [-h] [-w] [-f] [-l LIST] [-s {bb,ss,bba,s}] [-v] [-S STARTS_WITH] [-e ENDS_WITH]
[-p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...]]
[-m WORD_MIN_LENGTH] [-M WORD_MAX_LENGTH] [-r REGEX] [-x] [-d DELIMITER] [-E]
Generate random words and sentences from the command line. Here is a full list of available commands. To learn more
about each command, go to the documentation at https://wonderwords.readthedocs.io
options:
-h, --help show this help message and exit
-w, --word, --random-word
generate a random word
-f, --filter get a list of all known words matching the criteria specified
-l LIST, --list LIST return a list of a certain length of random words
-s {bb,ss,bba,s}, --sentence {bb,ss,bba,s}
return a sentence based on the structure chosen
-v, --version print the version number and exit
-S STARTS_WITH, --starts-with STARTS_WITH
strings the random word(s) should start with
-e ENDS_WITH, --ends-with ENDS_WITH
strings the random word(s) should end with
-p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...], --parts-of-speech {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...]
only include certain parts of speech (by default all parts of speech are included)
-m WORD_MIN_LENGTH, --word-min-length WORD_MIN_LENGTH
minimum length of the word(s)
-M WORD_MAX_LENGTH, --word-max-length WORD_MAX_LENGTH
maximum length of the word(s)
-r REGEX, --regex REGEX, --re REGEX, --regular-expression REGEX
a python-style regular expression for the word(s) to match
-x, --exclude-with-spaces
exclude open compounds, such as 'contact lens'
-d DELIMITER, --delimiter DELIMITER
specify the delimiter to put between a list of words, default is ', '
-E, --suppress-error-on-less
suppress errors when less words are returned in a list then wanted
Die grundlegenden Befehle sind:
-w : Generieren Sie ein zufälliges Wort-f : Was der filter ähnlich funktioniert, um alle Wörter zurückzugeben, die zu bestimmten Kriterien übereinstimmen-l LIST : Holen Sie sich eine Liste mit LIST Wörtern-s {bb,ss,bba,s} : Generieren Sie einen zufälligen Satz:bb : Bare Knochenstrafess : Einfacher Satz (bloßes Knochensatz mit direktem Objekt)bba : Bare Knochensatz mit Adjektivs : Erzeugen Sie einen einfachen Satz mit einem Adjektiv In den frühen Stadien hatten Wonderwords kein festgelegtes Versionsversionssystem und daher sind Versionen vor v2.0.0-alpha in Unordnung. Beginnend mit der Version 2 Alpha verwendet Wonderwords eine sematische Versionierung .
Wonderwords ist Open Source und wird unter der MIT -Lizenz verteilt. Weitere Informationen finden Sie unter Lizenz.
Alle Beiträge sind willkommen, und wir hoffen, dass Wunderwörter weiter wachsen werden. Beginnen Sie mit dem Lesen CONTRIBUTING.md , um Richtlinien beizutragen und zu beginnen.
Wonderwords wurde dank der folgenden Werke ermöglicht:
profanitylist.txt von Robertjgabriel/Google-Profanity-Wörtern unter der Lizenz Apache-2.0