使用 Elizabeth 為應用生成隨機樣本數據
它由 Líkið Geimfari 編寫,並在 MIT 許可證下發行,Elizabeth 以 21 個不同本地化信息提供了 18 種數據提供器,可用於生成隨機信息(LCTT 譯註:不僅是隨機數),包括姓名和個人特徵、地址、文本數據、交通信息、網路和 Internet 社交媒體數據、數字等等。安裝它需要 Python 3.2 或更高版本,您可以使用 pip
或從 git
倉庫安裝它。
在我的測試機上,我在一個全新安裝的 Debian Jessie 上使用 pip 來安裝它,要做的就是 apt-get install python3-pip
,它將安裝 Python 和所需的依賴項。然後 pip install elizabeth
,之後就安裝好了。
只是為好玩,讓我們在 Python 的互動式解釋器中為一個人生成一些隨機數據:
>>> from elizabeth import Personal
>>> p=Personal('en')
>>> p.full_name(gender="male")
'Elvis Herring'
>>> p.blood_type()
'B+'
>>> p.credit_card_expiration_date()
'09/17'
>>> p.email(gender='male')
'jessie7517@gmail.com'
>>> p.favorite_music_genre()
'Ambient'
>>> p.identifier(mask='13064########')
'1306420450944'
>>> p.sexual_orientation()
'Heterosexual'
>>> p.work_experience()
39
>>> p.occupation()
'Senior System Designer'
>>>
在代碼中使用它就像創建一個對象那樣,然後調用要你需要填充數據的對應方法。
Elizabeth 內置了 18 種不同的生成工具,添加新的生成器並不困難;你只需要定義從 JSON 值集合中獲取數據的常式。以下是一些隨機文本字元串生成,再次打開解釋器:
>>> from elizabeth import Text
>>> t=Text('en')
>>> t.swear_word()
'Rat-fink'
>>> t.quote()
'Let them eat cake.'
>>> t.words(quantity=20)
['securities', 'keeps', 'accessibility', 'barbara', 'represent', 'hentai', 'flower', 'keys', 'rpm', 'queen', 'kingdom', 'posted', 'wearing', 'attend', 'stack', 'interface', 'quite', 'elementary', 'broadcast', 'holland']
>>> t.sentence()
'She spent her earliest years reading classic literature, and writing poetry.'
使用 Elizabeth 填充 SQLite 或其它你可能需要用於開發或測試的資料庫並不困難。其介紹文檔給出了使用 Flask 這個輕量級 web 框架的一個醫療應用程序示例。
我對 Elizabeth 印象很深刻 - 它超快、輕量級、易於擴展,它的社區雖然小,但是很活躍。截至本文寫作時,項目已有 25 名貢獻者,並且提交的問題處理迅速。Elizabeth 的完整文檔至少對於美國英語而言易於閱讀和遵循,並提供了廣泛的 API 參考。
我曾嘗試通過修改鏈接來查找該文檔是否有其他語言,但沒有成功。因為其 API 在非英語區域中是不同的,所以記錄這些變化將對用戶非常有幫助。公平地說,通過閱讀其代碼並找出可用的方法並不難,即使你的 Python 功力並不深厚。對我來說,另一個明顯的缺陷是缺乏阿拉伯語或希伯來語區域測試數據。這些是著名的從右到左的語言,對於試圖使其應用程序國際化的開發者來說,適當地處理這些語言是一個主要的障礙。像 Elizabeth 這種在此方面可以協助的工具是值得擁有的。
對於那些在應用中需要隨機樣本數據的開發員而言,Elizabeth 是一個有價值的工具,而對於那些試圖創建真正多語言、本地化應用程序的開發者來說,它可能是一個寶藏。
作者簡介:
D Ruth Bavousett - D Ruth Bavousett 作為一名系統管理員和軟體開發人員已經很長時間了,她的專業生涯開始於 VAX 11/780。在她的職業生涯(迄今為止)中,她在解決圖書館需求上有大量的經驗,她自 2008 年以來一直是 Koha 開源圖書館自動化套件的貢獻者。Ruth 目前在休斯敦的 cPanel 任 Perl 開發人員,她也作為首席員工效力於雙貓公司。
via: https://opensource.com/article/17/2/elizabeth-python-library
作者:D Ruth Bavousett 譯者:geekpi 校對:jasminepeng
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive