python Python中随机生成身份证号/中文名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Python中随机生成身份证号/中文名相关的知识,希望对你有一定的参考价值。

#coding:utf-8

import random, faker, time

"""
@project: LocustTest
@file: randomName.py
@author: Boris Hou
@time: 2018-06-04 16:06:10
"""



def randomNameGenerater():
    fake = faker.Faker(locale = 'zh_CN')
    # first_names = ['的', '一', '是', '了', '我', '不', '人', '在', '他', '有', '这', '个', '上', '们', '来', '到', '时', '大', '地', '为',
    #                '子', '中', '你', '说', '生', '国', '年', '着', '就', '那', '和', '要', '她', '出', '也', '得', '里', '后', '自', '以',
    #                '乾', '坤']
    # last_names = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许',
    #               '姚', '邵', '堪', '汪', '祁', '毛', '禹', '狄', '米', '贝', '明', '臧', '计', '伏', '成', '戴', '谈', '宋', '茅', '庞',
    #               '熊', '纪', '舒', '屈', '项', '祝', '董', '梁']
    # for i in range(15):
    #     name = random.choice(last_names) + random.choice(first_names) + random.choice(first_names)

    return (fake.first_name() + fake.last_name())





def randomIdGennerator():
    ARR = (7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
    LAST = ('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2')
    t = time.localtime()[0]
    x = '%02d%02d%02d%04d%02d%02d%03d' % (random.randint(10, 99), random.randint(1, 99), random.randint(1, 99), random.randint(t - 80, t - 18), random.randint(1, 12), random.randint(1, 28), random.randint(1, 999))
    y = 0
    for i in range(17):
        y += int(x[i]) * ARR[i]
    IDCard = '%s%s' % (x, LAST[y % 11])
    # birthday = '%s-%s-%s 00:00:00' % (IDCard[6:14][0:4], IDCard[6:14][4: 6], IDCard[6:14][6:8])
    return IDCard


if __name__ == '__main__':
    while True:
        print(randomIdGennerator())
        print(randomNameGenerater())

以上是关于python Python中随机生成身份证号/中文名的主要内容,如果未能解决你的问题,请参考以下文章

python实现个人信息随机生成

随机手机号和身份证号码(python)

创建身份证号

python身份证号换成***

python中编写程序,根据身份证号,查询户口所在地并输出?

python 身份证号码生成