首页 > 解决方案 > 如何使用长度 python Faker 包生成假名

问题描述

我想使用Fakerpython 包生成一个长度为 10 的假名称。

from faker import Faker
fake = Faker()
print(fake.name())

它会生成一个任意长度的假名称,但我想生成一个长度为 10 的名称。

有没有办法在生成假数据之前使用 Faker 生成长度为 10 的名称或设置长度为 10?

标签: pythonpython-3.xfaker

解决方案


不,但是创建一个仅过滤来自 Faker 的长度为 10 的结果的生成器相当容易:

import faker, itertools

def conditional_fake(cond):
    fake = fake.Faker()
    while True:
        x = fake.name()
        if cond(x):
            yield x

# print 20 names of length 10
for n in itertools.islice(conditional_fake(lambda name: len(name)==10), 20):
    print(n)

推荐阅读