偽隨機產生器和登錄檔¶
Vincent Le Goff (vlgeoff) 的貢獻,2017 年
此實用程式可用於產生偽隨機資訊字串 具有特定的標準。 例如,您可以使用它來生成 電話號碼、車牌號碼、驗證碼、遊戲內安全 密碼等。產生的字串將被儲存並且不會重複。
使用範例¶
這是一個非常簡單的例子:
from evennia.contrib.utils.random_string_generator import RandomStringGenerator
# Create a generator for phone numbers
phone_generator = RandomStringGenerator("phone number", r"555-[0-9]{3}-[0-9]{4}")
# Generate a phone number (555-XXX-XXXX with X as numbers)
number = phone_generator.get()
# `number` will contain something like: "555-981-2207"
# If you call `phone_generator.get`, it won't give the same anymore.phone_generator.all()
# Will return a list of all currently-used phone numbers
phone_generator.remove("555-981-2207")
# The number can be generated again
輸入¶
從 contrib 匯入
RandomStringGenerator類別。建立帶有兩個引數的此類別的例項:
發電機的名稱(如“電話號碼”、“車牌”…)。
表示預期結果的正規表示式。
使用生成器的
all、get和remove方法,如上所示。
若要了解如何讀取和建立正規表示式,可以參考 re 模組的文件。 您可以使用的一些正規表示式範例:
r"555-\d{3}-\d{4}":555,一個破折號,3 位數字,另一個破折號,4 位數字。r"[0-9]{3}[A-Z][0-9]{3}":3位數字,一個大寫字母,3位數字。r"[A-Za-z0-9]{8,15}":8 到 15 個字母和數字。…
在幕後,建立了一個script來儲存產生的資訊
對於單一發電機。 RandomStringGenerator 對像也會
讀取您提供給它的正規表示式以檢視資訊是什麼
必需(字母、數字、更受限制的類別、簡單字元…)…
更複雜的正規表示式(例如帶有分支)可能不是
可用。
此檔案頁面是從evennia\contrib\utils\random_string_generator\README.md產生的。對此的更改
檔案將被覆蓋,因此請編輯該檔案而不是此檔案。