python - Python Faker 电话号码格式
问题描述
我最近开始使用 Faker,因为它能够将数据本地化到各个区域。在尝试生成本地化电话号码时,我意识到电话号码有多种格式,如此处所示。我想知道是否可以将所有生成的电话号码格式化为:(+91 ##########),无论国家代码如何,它都保持不变。谢谢!
解决方案
不幸的是,Facker
没有内置函数来执行此操作。
你有两个选择。
自己编写函数,例如:
def fake_phone_number(fake: Faker) -> str:
return f'+91 {fake.msisdn()[3:]}'
from faker import Faker
def main():
fake = Faker()
print(fake_phone_number(fake))
或者创建一个合适的提供者并建议添加它:https ://faker.readthedocs.io/en/master/communityproviders.html
或者
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())
推荐阅读
- java - Spring Boot:IllegalStateException:重复的片段名称 spring_web
- javascript - For 循环在 div 中追加 div
- c - 在c中向字符串添加零填充?
- recursion - 计算 LISP 列表中单词的出现次数
- node.js - 在 Windows 10 的 cmd 中运行 npm start 命令时出现问题
- r - r中的随机森林模型
- java - 使用字符串生成器时字符串索引超出范围
- powershell - 在本地会话中访问远程(调用命令)数组变量
- oauth - 如何在 refresh_token 授权期间正确识别用户?
- kubernetes - Kubernetes 中更多默认命名端口?