Python伪造电话号码格式

Python伪造电话号码格式,python,faker,Python,Faker,我最近开始与Faker合作,因为它能够将数据本地化到各个地区。当尝试生成本地化的电话号码时,我意识到电话号码有多种格式,如图所示。我想知道是否有可能将生成的所有电话号码格式化为这样:(+91#########),无论国家代码如何,它都保持不变。谢谢 不幸的是,Facker没有内置函数来完成此操作 您有两个选择。 自己编写函数,例如: def fake_phone_number(fake: Faker) -> str: return f'+91 {fake.msisdn()[3:]}

我最近开始与Faker合作,因为它能够将数据本地化到各个地区。当尝试生成本地化的电话号码时,我意识到电话号码有多种格式,如图所示。我想知道是否有可能将生成的所有电话号码格式化为这样:(+91#########),无论国家代码如何,它都保持不变。谢谢

不幸的是,
Facker
没有内置函数来完成此操作

您有两个选择。

自己编写函数,例如:

def fake_phone_number(fake: Faker) -> str:
    return f'+91 {fake.msisdn()[3:]}'
或创建适当的提供商并建议添加:

pythonsrc。 这是什么

from faker import Faker
from faker.providers.phone_number import Provider


class IndiaPhoneNumberProvider(Provider):
    """
    A Provider for phone number.
    """

    def india_phone_number(self):
        return f'+91 {self.msisdn()[3:]}'


def main():
    fake = Faker()
    fake.add_provider(IndiaPhoneNumberProvider)
    print(fake.india_phone_number())

这意味着我必须手动格式化代码生成数据的20个国家中的每一个?不是。请用示例代码扩展您的问题,以了解您是如何使用Faker的。
from faker import Faker
from faker.providers.phone_number import Provider


class IndiaPhoneNumberProvider(Provider):
    """
    A Provider for phone number.
    """

    def india_phone_number(self):
        return f'+91 {self.msisdn()[3:]}'


def main():
    fake = Faker()
    fake.add_provider(IndiaPhoneNumberProvider)
    print(fake.india_phone_number())