توليد كلمات وجمل عشوائية بسهولة في بيثون
مستودع جيثب | Pypi | الوثائق
Wonderwords هي حزمة Python مفيدة لإنشاء كلمات عشوائية وجمل عشوائية منظمة. كما أنه يأتي مع واجهة سطر الأوامر الملونة لإنشاء كلمات عشوائية بسرعة. أحدث إصدار متاح على Github بينما يتوفر الإصدار المستقر على PYPI.
إليك ما يمكن لـ Wonderwords قادرًا على:
لتثبيت أحدث إصدار من Wonderwords ، استخدم مدير الحزمة المفضل لديك لفهرس Python Package لتثبيت حزمة wonderwords . على سبيل المثال مع PIP:
pip install wonderwordsلترقية Wonderwords مع استخدام PIP:
pip install --upgrade wonderwordsللتحقق من أن التثبيت يعمل ، استيراد كلمات العجائب في بيثون:
import wonderwords إذا حصلت على خطأ ModuleNotFound ، فتأكد من تثبيت Wonderwords من الخطوة أعلاه. لمزيد من القضايا ، افتح مشكلة جديدة من صفحة Github.
سيصف هذا القسم باختصار استخدام Wonderwords. نظرًا لأن Wonderwords لديها واجهة سطر الأوامر ووحدة Python ، ستجد قسمين فرعيين.
فئة توليد الكلمات العشوائية الأساسية هي فئة RandomWord . يمكنك إنشاء كلمات مع طريقة word :
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" ]) يمكنك أيضًا الحصول على قائمة بجميع الكلمات التي تطابق بعض المعايير باستخدام طريقة filter :
# 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 ) يمكنك أيضًا إنشاء قائمة عشوائية من الكلمات باستخدام طريقة random_words . هذا يشبه إلى حد كبير طريقة التصفية ، باستثناء أنك تحدد مقدار الكلمات المراد إرجاعها ، ويتم اختيار الكلمات بشكل عشوائي. إذا لم تكن هناك كلمات كافية لتلبية المبلغ ، يتم رفع استثناء NoWordsToChooseFrom :
# 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 ) من السهل توليد جمل عشوائية باستخدام فئة RandomSentence :
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 () يتم تنظيم الكلمات في فئات ، مثل "الأسماء" و "الأفعال" و "الصفات". ماذا لو كان لديك فئات الكلمات الخاصة بك؟ يمكنك تحديد فئاتك المخصصة عند إنشاء إنشاء فئة RandomWord :
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.*" )أخيرًا ، بدءًا من الإصدار 2.3 ، يتمتع Wonderwords بدعم واضح لتصفية الألفاظ النابية من قوائم الكلمات. في الوقت الحالي ، هذا بدائي:
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 ))تم العثور على استخدام أكثر تقدما (والبرنامج التعليمي!) في الوثائق ، مثل إضافة فئات مخصصة من الكلمات. يمكن العثور على الوثائق الكاملة مع جميع المعلومات على: https://wonderwords.readthedocs.io
ملاحظة : قبل استخدام واجهة سطر الأوامر (CLI) ، تأكد من تثبيت جميع التبعيات المطلوبة لـ CLI باستخدام pip install wonderwords[cli] . لا تتطلب Wonderwords عادة أي تبعيات ، ولكنها تستخدم Rich للإخراج الملون في سطر الأوامر.
توفر Wonderwords واجهة سطر الأوامر أيضًا ، والتي يمكن استخدامها مع أمر wonderwords . الاستخدام:
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
الأوامر الأساسية هي:
-w : إنشاء كلمة عشوائية-f : الذي يعمل مثل وظيفة filter لإرجاع جميع الكلمات التي تطابق معايير معينة-l LIST : احصل على قائمة LIST الكلمات العشوائية-s {bb,ss,bba,s} : إنشاء جملة عشوائية:bb : جملة العظام العاريةss : جملة بسيطة (جملة العظام العارية مع كائن مباشر)bba : جملة العظام العارية مع الصفةs : قم بإنشاء جملة بسيطة مع صفة خلال مراحلها المبكرة ، لم يكن لدى Wonderwords نظام إصدار محدد ، وبالتالي ، فإن الإصدارات قبل v2.0.0-alpha في حالة من الفوضى. بدءًا من الإصدار 2 Alpha ، يستخدم Wonderwords إصدارًا شبه .
Wonderwords مفتوح المصدر ويتم توزيعه تحت رخصة معهد ماساتشوستس للتكنولوجيا. انظر الترخيص لمزيد من التفاصيل.
جميع المساهمات موضع ترحيب ، ونأمل أن تستمر Wonderwords في النمو. ابدأ من خلال القراءة CONTRIBUTING.md للمساهمة الإرشادات وكيفية البدء.
لقد أصبحت Wonderwords ممكنة بفضل الأعمال التالية:
profanitylist.txt من روبرتجابرييل/Google-Profanity-كلمة بموجب ترخيص Apache-2.0