基于Faker生成測試數據的示例代碼
更新時間:2025年06月27日 09:27:33 作者:小龍在山東
Faker是用來生成測試數據的Python包,可以很方便地生成各種測試數據,支持中文,支持命令行模式,下面小編就來和大家詳細講講它的具體使用吧
Faker 是用來生成測試數據的Python包,可以很方便地生成各種測試數據,支持中文,支持命令行模式。
$ faker -l zh_CN address 甘肅省帆市清浦謝街G座 $ faker -l zh_CN name 劉**

生成 Chrome 的 user_agent
from faker import Faker
fake = Faker('zh_CN')
for _ in range(5):
chrome = fake.chrome()
print(chrome)
# Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/43.0.857.0 Safari/532.1
# Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.0 (KHTML, like Gecko) Chrome/46.0.841.0 Safari/534.0
# Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/532.1 (KHTML, like Gecko) CriOS/14.0.801.0 Mobile/54X039 Safari/532.1
# Mozilla/5.0 (Linux; Android 3.2.1) AppleWebKit/531.2 (KHTML, like Gecko) Chrome/25.0.873.0 Safari/531.2
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_8) AppleWebKit/536.0 (KHTML, like Gecko) Chrome/60.0.815.0 Safari/536.0
隨機生成 user_agent
from faker import Faker
fake = Faker('zh_CN')
for _ in range(5):
chrome = fake.user_agent()
print(chrome)
# Opera/8.19.(X11; Linux i686; niu-NZ) Presto/2.9.180 Version/10.00
# Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.2; Trident/3.0)
# Mozilla/5.0 (X11; Linux x86_64; rv:1.9.7.20) Gecko/8311-12-14 02:44:34 Firefox/3.8
# Mozilla/5.0 (X11; Linux i686; rv:1.9.5.20) Gecko/9099-08-21 17:11:00 Firefox/3.6.17
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_1 rv:6.0; fy-DE) AppleWebKit/535.48.4 (KHTML, like Gecko) Version/4.1 Safari/535.48.4
生成日期
from faker import Faker
fake = Faker('zh_CN')
Faker.seed(0)
for _ in range(5):
date = fake.date()
print(date)
# 1996-03-20
# 2021-07-31
# 1998-08-15
# 1972-10-03
# 1987-08-15
人名
from faker import Faker
fake = Faker('zh_CN')
Faker.seed(0)
for _ in range(5):
name = fake.name()
print(name)
Faker 生成隨機測試數據
初始化國家地區(qū)
fake = Faker(locale='zh-cn') # 初始化國家地區(qū)為中國
# fake = Faker(locale='en-au') # 澳洲
'''
常見國家的本地化參數示例:
美國英語(en_US):Faker('en_US')
英國英語(en_GB):Faker('en_GB')
中文(中國)(zh_CN):Faker('zh_CN')
中文(臺灣)(zh_TW):Faker('zh_TW')
法國法語(fr_FR):Faker('fr_FR')
德國德語(de_DE):Faker('de_DE')
日本日語(ja_JP):Faker('ja_JP')
澳洲:Faker(locale='en-au')
'''
人名相關
print(fake.first_name()) # 生成隨機first name print(fake.last_name()) # 生成隨機last name print(fake.first_name_female()) # 生成隨機女性名字 print(fake.first_name_male()) # 生成隨機男性名字 print(fake.name_female()) # 生成隨機女性全名 print(fake.name_male()) # 生成隨機男性全名 print(fake.name()) # 生成隨機名字
公司名相關
print(fake.company()) # 公司名全稱 print(fake.company_prefix()) # 公司名 print(fake.company_suffix()) # 公司性質,如xx有限公司 print(fake.bs()) # 公司服務名
郵箱相關
print(fake.ascii_company_email()) # ASCII公司郵箱 print(fake.ascii_email()) # ASCII郵箱 print(fake.company_email()) # 公司郵箱 print(fake.safe_email()) # 安全郵箱 print(fake.email()) # 普通郵箱
地區(qū)相關
print(fake.country()) # 國家 print(fake.country_code()) # 國家代碼 print(fake.province()) # 省 print(fake.city()) # 市 print(fake.district()) # 區(qū) print(fake.street_address()) # 街道地址 print(fake.street_name()) # 街道名 print(fake.postcode()) #郵編 print(fake.address()) # 詳細地址 print(fake.city_suffix()) # "市"或"縣" print(fake.street_suffix()) # "街"或"路"
卡相關
print(fake.credit_card_full()) # 完整的信用卡信息 print(fake.credit_card_number()) # 信用卡號 print(fake.credit_card_provider()) # 信用卡類型 print(fake.credit_card_expire()) # 信用卡到期日 print(fake.credit_card_security_code()) # 信用卡安全碼
個人信息相關
print('+86' + fake.phone_number())# 電話號
print(fake.password()) # 密碼
print(fake.ssn()) # 身份證號
print(fake.date()) # 生日
瀏覽器user_agent相關
print(fake.chrome()) # Chrome瀏覽器的user_agent信息 print(fake.firefox()) # 火狐瀏覽器 print(fake.opera()) # opera瀏覽器 print(fake.safari()) # safari瀏覽器 print(fake.internet_explorer()) # IE瀏覽器 print(fake.linux_platform_token()) # 隨機生成linux信息 print(fake.user_agent()) # 隨機生成user_agent信息
網絡基礎相關
print(fake.image_url()) # URL地址-帶路徑 print(fake.url()) # URL地址-不帶路徑 print(fake.domain_name()) # 域名 print(fake.domain_word()) # 域詞(不包含后綴) print(fake.tld()) # 域名后綴 print(fake.ipv4()) # ipv4地址 print(fake.ipv6()) # ipv6地址 print(fake.mac_address()) # mac地址 print(fake.uri()) # URI地址 print(fake.uri_page()) # 網址文件-不包含后綴 print(fake.uri_path()) # 網址文件路徑-不包含文件名 print(fake.uri_extension()) # 網址文件域名后綴
數字相關
print(fake.numerify()) # 隨機三位數字 print(fake.pyint()) # 隨機int數字 print(fake.pyfloat()) # 隨機float數字 print(fake.pydecimal()) # 隨機decimal數字
文本相關
print(fake.null_boolean()) # None,True,False print(fake.pystr()) # 隨機字符串 print(fake.word()) # 隨機生成一個詞語 print(fake.words()) # 隨機生成多個詞語,返回的是一個列表 print(fake.paragraph()) # 隨機生成一個段落 print(fake.sentence())# 隨機生成一句話 print(fake.sentences()) # 隨機生成多句話,返回的是一個列表 print(fake.text()) # 隨機生成一篇文章 print(fake.texts()) # 隨機生成多篇文章
編碼相關
print(fake.md5()) # 隨機生成md5 print(fake.sha1()) # 隨機生成sha1 print(fake.sha256()) # 隨機生成sha256 print(fake.uuid4()) # 隨機生成uuid print(fake.binary()) # 隨機生成二進制編碼
用戶名密碼
print(fake.user_name()) # 用戶名 print(fake.password()) # 密碼,隨機生成密碼,可選參數:length:密碼長度;special_chars:是否能使用特殊字符;digits:是否包含數字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母
到此這篇關于基于Faker生成測試數據的示例代碼的文章就介紹到這了,更多相關Faker生成測試數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

