繁体   English   中英

如何使用长度 python Faker package 生成假名称

[英]How to generate fake name using length python Faker package

我想使用Faker python package 生成一个长度为 10 的假名称。

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

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

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

不,但是创建一个仅过滤来自 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)

你可以写一个循环:

from itertools import count
from faker import Faker

faker = Faker()

names = (faker.name() for _ in count())

name = next(name for name in names
            if len(name) == 10)

可以通过以下方式简单地完成:-

fake = Faker()

fake.pystr(min_chars=None, max_chars=10)

请参阅此以获取更多信息:- https://faker.readthedocs.io/en/master/providers/faker.providers.python.ZFC35FDC70D5FC69D269883A822C7A53E

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM