python操作redis之随机生成18位身份证号码

写一个随机生成身份证号的程序,输入多少条就产生多少个,?把产生完的数据写到redis里面,key用哈希类型?Xiaohei 410881198312031241

其中配置文件confsetting.py里的常量有:

# 系统常量,包含:
# LAST_NAME: 姓
# FIRST_NAME: 名
# STATE_CODE:全国大陆地区及编码
REDIS_IP = ‘172.16.2.163‘ RedisIp
REDIS_PORT = 6379
REDIS_PASSWD = ‘222333‘
REDIS_DB = 1
LAST_NAME = [‘赵‘, ‘钱‘, ‘孙‘, ‘李‘, ‘周‘, ‘吴‘, ‘郑‘, ‘王‘, ‘冯‘, ‘陈‘, ‘褚‘, ‘卫‘, ‘蒋‘, ‘沈‘, ‘韩‘, ‘杨‘, ‘朱‘, ‘秦‘, ‘尤‘, ‘许‘, ‘何‘, ‘吕‘, ‘施‘, ‘张‘, ‘孔‘, ‘曹‘, ‘严‘, ‘华‘, ‘金‘, ‘魏‘, ‘陶‘, ‘姜‘, ‘戚‘, ‘谢‘, ‘邹‘, ‘喻‘, ‘柏‘, ‘水‘, ‘窦‘, ‘章‘, ‘云‘, ‘苏‘, ‘潘‘, ‘葛‘, ‘奚‘, ‘范‘, ‘彭‘, ‘郎‘, ‘鲁‘, ‘韦‘, ‘昌‘, ‘马‘, ‘苗‘, ‘凤‘, ‘花‘, ‘方‘, ‘俞‘, ‘任‘, ‘袁‘, ‘柳‘, ‘酆‘, ‘鲍‘, ‘史‘, ‘唐‘, ‘费‘, ‘廉‘, ‘岑‘, ‘薛‘, ‘雷‘, ‘贺‘, ‘倪‘, ‘汤‘, ‘滕‘, ‘殷‘, ‘罗‘, ‘毕‘, ‘郝‘, ‘邬‘, ‘安‘, ‘常‘, ‘乐‘, ‘于‘, ‘时‘, ‘傅‘, ‘皮‘, ‘卞‘, ‘齐‘, ‘康‘, ‘伍‘, ‘余‘, ‘元‘, ‘卜‘, ‘顾‘, ‘孟‘, ‘平‘, ‘黄‘, ‘和‘, ‘穆‘, ‘萧‘, ‘尹‘, ‘姚‘, ‘邵‘, ‘湛‘, ‘汪‘, ‘祁‘, ‘毛‘, ‘禹‘, ‘狄‘, ‘米‘, ‘贝‘, ‘明‘, ‘臧‘, ‘计‘, ‘伏‘, ‘成‘, ‘戴‘, ‘谈‘, ‘宋‘, ‘茅‘, ‘庞‘, ‘熊‘, ‘纪‘, ‘舒‘, ‘屈‘, ‘项‘, ‘祝‘, ‘董‘, ‘梁‘, ‘杜‘, ‘阮‘, ‘蓝‘, ‘闵‘, ‘席‘, ‘季‘, ‘麻‘, ‘强‘, ‘贾‘, ‘路‘, ‘娄‘, ‘危‘, ‘江‘, ‘童‘, ‘颜‘, ‘郭‘, ‘梅‘, ‘盛‘, ‘林‘, ‘刁‘, ‘锺‘, ‘徐‘, ‘邱‘, ‘骆‘, ‘高‘, ‘夏‘, ‘蔡‘, ‘田‘, ‘樊‘, ‘胡‘, ‘凌‘, ‘霍‘, ‘虞‘, ‘万‘, ‘支‘, ‘柯‘, ‘昝‘, ‘管‘, ‘卢‘, ‘莫‘, ‘经‘, ‘房‘, ‘裘‘, ‘缪‘, ‘干‘, ‘解‘, ‘应‘, ‘宗‘, ‘丁‘, ‘宣‘, ‘贲‘, ‘邓‘, ‘郁‘, ‘单‘, ‘杭‘, ‘洪‘, ‘包‘, ‘诸‘, ‘左‘, ‘石‘, ‘崔‘, ‘吉‘, ‘钮‘, ‘龚‘, ‘程‘, ‘嵇‘, ‘邢‘, ‘滑‘, ‘裴‘, ‘陆‘, ‘荣‘, ‘翁‘, ‘闻人‘, ‘东方‘, ‘赫连‘, ‘皇甫‘, ‘尉迟‘, ‘公羊‘, ‘澹台‘, ‘公冶‘, ‘宗政‘, ‘濮阳‘, ‘淳于‘, ‘单于‘, ‘太叔‘, ‘申屠‘, ‘公孙‘, ‘仲孙‘, ‘轩辕‘, ‘令狐‘, ‘钟离‘, ‘宇文‘, ‘长孙‘, ‘慕容‘, ‘司徒‘, ‘司空‘, ‘召‘, ‘有‘, ‘舜‘, ‘叶赫那拉‘, ‘丛‘, ‘岳‘, ‘寸‘, ‘贰‘, ‘皇‘, ‘侨‘, ‘彤‘, ‘竭‘, ‘端‘, ‘赫‘, ‘实‘, ‘甫‘, ‘集‘, ‘象‘, ‘翠‘, ‘狂‘, ‘辟‘, ‘典‘, ‘良‘, ‘函‘, ‘芒‘, ‘苦‘, ‘其‘, ‘京‘, ‘中‘, ‘夕‘, ‘章佳‘, ‘那拉‘, ‘冠‘, ‘宾‘, ‘香‘, ‘果‘, ‘依尔根觉罗‘, ‘依尔觉罗‘, ‘萨嘛喇‘, ‘赫舍里‘, ‘额尔德特‘, ‘萨克达‘, ‘钮祜禄‘, ‘他塔喇‘, ‘喜塔腊‘, ‘讷殷富察‘, ‘叶赫那兰‘, ‘库雅喇‘, ‘瓜尔佳‘, ‘舒穆禄‘, ‘爱新觉罗‘, ‘索绰络‘, ‘纳喇‘, ‘乌雅‘, ‘范姜‘, ‘碧鲁‘, ‘张廖‘, ‘张简‘, ‘图门‘, ‘太史‘, ‘公叔‘, ‘乌孙‘, ‘完颜‘, ‘马佳‘, ‘佟佳‘, ‘富察‘, ‘费莫‘, ‘蹇‘, ‘称‘, ‘诺‘, ‘来‘, ‘多‘, ‘繁‘, ‘戊‘, ‘朴‘, ‘回‘, ‘毓‘, ‘税‘, ‘荤‘, ‘靖‘, ‘绪‘, ‘愈‘, ‘硕‘, ‘牢‘, ‘买‘, ‘但‘, ‘巧‘, ‘枚‘, ‘撒‘, ‘泰‘, ‘秘‘, ‘亥‘, ‘绍‘, ‘以‘, ‘壬‘, ‘森‘, ‘斋‘, ‘释‘, ‘奕‘, ‘姒‘, ‘朋‘, ‘求‘, ‘羽‘, ‘用‘, ‘占‘, ‘真‘, ‘穰‘, ‘翦‘, ‘闾‘, ‘漆‘, ‘贵‘, ‘代‘, ‘贯‘, ‘旁‘, ‘崇‘, ‘栋‘, ‘告‘, ‘休‘, ‘褒‘, ‘谏‘, ‘锐‘, ‘皋‘, ‘闳‘, ‘在‘, ‘歧‘, ‘禾‘, ‘示‘, ‘是‘, ‘委‘, ‘钊‘, ‘频‘, ‘嬴‘, ‘呼‘, ‘大‘, ‘威‘, ‘昂‘, ‘律‘, ‘冒‘, ‘保‘, ‘系‘, ‘抄‘, ‘定‘, ‘化‘, ‘莱‘, ‘校‘, ‘么‘, ‘抗‘, ‘祢‘, ‘綦‘, ‘竹‘, ‘百‘, ‘福‘, ‘言‘, ‘第五‘, ‘佟‘, ‘爱‘, ‘年‘, ‘笪‘, ‘谯‘, ‘哈‘, ‘墨‘, ‘南宫‘, ‘赏‘, ‘伯‘, ‘佴‘, ‘佘‘, ‘牟‘, ‘商‘, ‘西门‘, ‘东门‘, ‘左丘‘, ‘梁丘‘, ‘琴‘, ‘后‘, ‘况‘, ‘亢‘, ‘缑‘, ‘帅‘, ‘微生‘, ‘羊舌‘, ‘海‘, ‘归‘, ‘呼延‘, ‘南门‘, ‘东郭‘, ‘百里‘, ‘钦‘, ‘鄢‘, ‘汝‘, ‘法‘, ‘闫‘, ‘楚‘, ‘晋‘, ‘谷梁‘, ‘宰父‘, ‘夹谷‘, ‘拓跋‘, ‘壤驷‘, ‘乐正‘, ‘漆雕‘, ‘公西‘, ‘巫马‘, ‘端木‘, ‘颛孙‘, ‘子车‘, ‘督‘, ‘仉‘, ‘司寇‘, ‘亓官‘, ‘鲜于‘, ‘锺离‘, ‘盖‘, ‘逯‘, ‘库‘, ‘郏‘, ‘逢‘, ‘阴‘, ‘薄‘, ‘厉‘, ‘稽‘, ‘闾丘‘, ‘公良‘, ‘段干‘, ‘开‘, ‘光‘, ‘操‘, ‘瑞‘, ‘眭‘, ‘泥‘, ‘运‘, ‘摩‘, ‘伟‘, ‘铁‘]

FIRST_NAME = [ ‘一‘, ‘是‘, ‘了‘, ‘我‘, ‘不‘, ‘人‘, ‘在‘, ‘他‘, ‘有‘, ‘这‘, ‘个‘, ‘上‘, ‘们‘, ‘来‘, ‘到‘, ‘时‘, ‘大‘, ‘地‘, ‘为‘,
               ‘子‘, ‘中‘, ‘你‘, ‘说‘, ‘生‘, ‘国‘, ‘年‘, ‘着‘, ‘就‘, ‘那‘, ‘和‘, ‘要‘, ‘她‘, ‘出‘, ‘也‘, ‘得‘, ‘里‘, ‘后‘, ‘自‘, ‘以‘,
               ‘会‘, ‘家‘, ‘可‘, ‘下‘, ‘而‘, ‘过‘, ‘天‘, ‘去‘, ‘能‘, ‘对‘, ‘小‘, ‘多‘, ‘然‘, ‘于‘, ‘心‘, ‘学‘, ‘么‘, ‘之‘, ‘都‘, ‘好‘,
               ‘看‘, ‘起‘, ‘发‘, ‘当‘, ‘没‘, ‘成‘, ‘只‘, ‘如‘, ‘事‘, ‘把‘, ‘还‘, ‘用‘, ‘第‘, ‘样‘, ‘道‘, ‘想‘, ‘作‘, ‘种‘, ‘开‘, ‘美‘,
               ‘总‘, ‘从‘, ‘无‘, ‘情‘, ‘己‘, ‘面‘, ‘最‘, ‘女‘, ‘但‘, ‘现‘, ‘前‘, ‘些‘, ‘所‘, ‘同‘, ‘日‘, ‘手‘, ‘又‘, ‘行‘, ‘意‘, ‘动‘,
               ‘方‘, ‘期‘, ‘它‘, ‘头‘, ‘经‘, ‘长‘, ‘儿‘, ‘回‘, ‘位‘, ‘分‘, ‘爱‘, ‘老‘, ‘因‘, ‘很‘, ‘给‘, ‘名‘, ‘法‘, ‘间‘, ‘斯‘, ‘知‘,
               ‘世‘, ‘什‘, ‘两‘, ‘次‘, ‘使‘, ‘身‘, ‘者‘, ‘被‘, ‘高‘, ‘已‘, ‘亲‘, ‘其‘, ‘进‘, ‘此‘, ‘话‘, ‘常‘, ‘与‘, ‘活‘, ‘正‘, ‘感‘,
               ‘见‘, ‘明‘, ‘问‘, ‘力‘, ‘理‘, ‘尔‘, ‘点‘, ‘文‘, ‘几‘, ‘定‘, ‘本‘, ‘公‘, ‘特‘, ‘做‘, ‘外‘, ‘孩‘, ‘相‘, ‘西‘, ‘果‘, ‘走‘,
               ‘将‘, ‘月‘, ‘十‘, ‘实‘, ‘向‘, ‘声‘, ‘车‘, ‘全‘, ‘信‘, ‘重‘, ‘三‘, ‘机‘, ‘工‘, ‘物‘, ‘气‘, ‘每‘, ‘并‘, ‘别‘, ‘真‘, ‘打‘,
               ‘太‘, ‘新‘, ‘比‘, ‘才‘, ‘便‘, ‘夫‘, ‘再‘, ‘书‘, ‘部‘, ‘水‘, ‘像‘, ‘眼‘, ‘等‘, ‘体‘, ‘却‘, ‘加‘, ‘电‘, ‘主‘, ‘界‘, ‘门‘,
               ‘利‘, ‘海‘, ‘受‘, ‘听‘, ‘表‘, ‘德‘, ‘少‘, ‘克‘, ‘代‘, ‘员‘, ‘许‘, ‘稜‘, ‘先‘, ‘口‘, ‘由‘, ‘死‘, ‘安‘, ‘写‘, ‘性‘, ‘马‘,
               ‘光‘, ‘白‘, ‘或‘, ‘住‘, ‘难‘, ‘望‘, ‘教‘, ‘命‘, ‘花‘, ‘结‘, ‘乐‘, ‘色‘, ‘更‘, ‘拉‘, ‘东‘, ‘神‘, ‘记‘, ‘处‘, ‘让‘, ‘母‘,
               ‘极‘, ‘随‘, ‘演‘, ‘收‘, ‘首‘, ‘根‘, ‘讲‘, ‘整‘, ‘式‘, ‘取‘, ‘照‘, ‘办‘, ‘强‘, ‘石‘, ‘古‘, ‘华‘, ‘諣‘, ‘拿‘, ‘计‘, ‘您‘,
               ‘装‘, ‘似‘, ‘足‘, ‘双‘, ‘妻‘, ‘尼‘, ‘转‘, ‘诉‘, ‘米‘, ‘称‘, ‘丽‘, ‘客‘, ‘南‘, ‘领‘, ‘节‘, ‘衣‘, ‘站‘, ‘黑‘, ‘刻‘, ‘统‘,
               ‘断‘, ‘福‘, ‘城‘, ‘故‘, ‘历‘, ‘惊‘, ‘脸‘, ‘选‘, ‘包‘, ‘紧‘, ‘争‘, ‘另‘, ‘建‘, ‘维‘, ‘绝‘, ‘树‘, ‘系‘, ‘伤‘, ‘示‘, ‘愿‘,
               ‘持‘, ‘千‘, ‘史‘, ‘谁‘, ‘准‘, ‘联‘, ‘妇‘, ‘纪‘, ‘基‘, ‘买‘, ‘志‘, ‘静‘, ‘阿‘, ‘诗‘, ‘独‘, ‘复‘, ‘痛‘, ‘消‘, ‘社‘, ‘算‘,
               ‘义‘, ‘竟‘, ‘确‘, ‘酒‘, ‘需‘, ‘单‘, ‘治‘, ‘卡‘, ‘幸‘, ‘兰‘, ‘念‘, ‘举‘, ‘仅‘, ‘钟‘, ‘怕‘, ‘共‘, ‘毛‘, ‘句‘, ‘息‘, ‘功‘,
               ‘官‘, ‘待‘, ‘究‘, ‘跟‘, ‘穿‘, ‘室‘, ‘易‘, ‘游‘, ‘程‘, ‘号‘, ‘居‘, ‘考‘, ‘突‘, ‘皮‘, ‘哪‘, ‘费‘, ‘倒‘, ‘价‘, ‘图‘, ‘具‘,
               ‘刚‘, ‘脑‘, ‘永‘, ‘歌‘, ‘响‘, ‘商‘, ‘礼‘, ‘细‘, ‘专‘, ‘黄‘, ‘块‘, ‘脚‘, ‘味‘, ‘灵‘, ‘改‘, ‘据‘, ‘般‘, ‘破‘, ‘引‘, ‘食‘,
               ‘仍‘, ‘存‘, ‘众‘, ‘注‘, ‘笔‘, ‘甚‘, ‘某‘, ‘沉‘, ‘血‘, ‘备‘, ‘习‘, ‘校‘, ‘默‘, ‘务‘, ‘土‘, ‘微‘, ‘娘‘, ‘须‘, ‘试‘, ‘怀‘,
               ‘料‘, ‘调‘, ‘广‘, ‘蜖‘, ‘苏‘, ‘显‘, ‘赛‘, ‘查‘, ‘密‘, ‘议‘, ‘底‘, ‘列‘, ‘富‘, ‘梦‘, ‘错‘, ‘座‘, ‘参‘, ‘八‘, ‘除‘, ‘跑‘,
               ‘亮‘, ‘假‘, ‘印‘, ‘设‘, ‘线‘, ‘温‘, ‘虽‘, ‘掉‘, ‘京‘, ‘初‘, ‘养‘, ‘香‘, ‘停‘, ‘际‘, ‘致‘, ‘阳‘, ‘纸‘, ‘李‘, ‘纳‘, ‘验‘,
               ‘助‘, ‘激‘, ‘够‘, ‘严‘, ‘证‘, ‘帝‘, ‘饭‘, ‘忘‘, ‘趣‘, ‘支‘, ‘春‘, ‘集‘, ‘丈‘, ‘木‘, ‘研‘, ‘班‘, ‘普‘, ‘导‘, ‘顿‘, ‘睡‘,
               ‘展‘, ‘跳‘, ‘获‘, ‘艺‘, ‘六‘, ‘波‘, ‘察‘, ‘群‘, ‘皇‘, ‘段‘, ‘急‘, ‘庭‘, ‘创‘, ‘区‘, ‘奥‘, ‘器‘, ‘谢‘, ‘弟‘, ‘店‘, ‘否‘,
               ‘害‘, ‘草‘, ‘排‘, ‘背‘, ‘止‘, ‘组‘, ‘州‘, ‘朝‘, ‘封‘, ‘睛‘, ‘板‘, ‘角‘, ‘况‘, ‘曲‘, ‘馆‘, ‘育‘, ‘忙‘, ‘质‘, ‘河‘, ‘续‘,
               ‘哥‘, ‘呼‘, ‘若‘, ‘推‘, ‘境‘, ‘遇‘, ‘雨‘, ‘标‘, ‘姐‘, ‘充‘, ‘围‘, ‘案‘, ‘伦‘, ‘护‘, ‘冷‘, ‘警‘, ‘贝‘, ‘著‘, ‘雪‘, ‘索‘,
               ‘剧‘, ‘啊‘, ‘船‘, ‘险‘, ‘烟‘, ‘依‘, ‘斗‘, ‘值‘, ‘帮‘, ‘汉‘, ‘慢‘, ‘佛‘, ‘肯‘, ‘闻‘, ‘唱‘, ‘沙‘, ‘局‘, ‘伯‘, ‘族‘, ‘低‘,
               ‘玩‘, ‘资‘, ‘屋‘, ‘击‘, ‘速‘, ‘顾‘, ‘泪‘, ‘洲‘, ‘团‘, ‘圣‘, ‘旁‘, ‘堂‘, ‘兵‘, ‘七‘, ‘露‘, ‘园‘, ‘牛‘, ‘哭‘, ‘旅‘, ‘街‘,
               ‘劳‘, ‘型‘, ‘烈‘, ‘姑‘, ‘陈‘, ‘莫‘, ‘鱼‘, ‘异‘, ‘抱‘, ‘宝‘, ‘权‘, ‘鲁‘, ‘简‘, ‘态‘, ‘级‘, ‘票‘, ‘怪‘, ‘寻‘, ‘杀‘, ‘律‘,
               ‘胜‘, ‘份‘, ‘汽‘, ‘右‘, ‘洋‘, ‘范‘, ‘床‘, ‘舞‘, ‘秘‘, ‘午‘, ‘登‘, ‘楼‘, ‘贵‘, ‘吸‘, ‘责‘, ‘例‘, ‘追‘, ‘较‘, ‘职‘, ‘属‘,
               ‘渐‘, ‘左‘, ‘录‘, ‘丝‘, ‘牙‘, ‘党‘, ‘继‘, ‘托‘, ‘赶‘, ‘章‘, ‘智‘, ‘冲‘, ‘叶‘, ‘胡‘, ‘吉‘, ‘卖‘, ‘坚‘, ‘喝‘, ‘肉‘, ‘遗‘,
               ‘救‘, ‘修‘, ‘松‘, ‘临‘, ‘藏‘, ‘担‘, ‘戏‘, ‘善‘, ‘卫‘, ‘药‘, ‘悲‘, ‘敢‘, ‘靠‘, ‘伊‘, ‘村‘, ‘戴‘, ‘词‘, ‘森‘, ‘耳‘, ‘差‘,
               ‘短‘, ‘祖‘, ‘云‘, ‘规‘, ‘窗‘, ‘散‘, ‘迷‘, ‘油‘, ‘旧‘, ‘适‘, ‘乡‘, ‘架‘, ‘恩‘, ‘投‘, ‘弹‘, ‘铁‘, ‘博‘, ‘雷‘, ‘府‘, ‘压‘,
               ‘超‘, ‘负‘, ‘勒‘, ‘杂‘, ‘醒‘, ‘洗‘, ‘采‘, ‘毫‘, ‘嘴‘, ‘毕‘, ‘九‘, ‘冰‘, ‘既‘, ‘状‘, ‘乱‘, ‘景‘, ‘席‘, ‘珍‘, ‘童‘, ‘顶‘,
               ‘派‘, ‘素‘, ‘脱‘, ‘农‘, ‘疑‘, ‘练‘, ‘野‘, ‘按‘, ‘犯‘, ‘拍‘, ‘征‘, ‘坏‘, ‘骨‘, ‘余‘, ‘承‘, ‘置‘, ‘臓‘, ‘彩‘, ‘灯‘, ‘巨‘,
               ‘琴‘, ‘免‘, ‘环‘, ‘姆‘, ‘暗‘, ‘换‘, ‘技‘, ‘翻‘, ‘束‘, ‘增‘, ‘忍‘, ‘餐‘, ‘洛‘, ‘塞‘, ‘缺‘, ‘忆‘, ‘判‘, ‘欧‘, ‘层‘, ‘付‘,
               ‘阵‘, ‘玛‘, ‘批‘, ‘岛‘, ‘项‘, ‘狗‘, ‘休‘, ‘懂‘, ‘武‘, ‘革‘, ‘良‘, ‘恶‘, ‘恋‘, ‘委‘, ‘拥‘, ‘娜‘, ‘妙‘, ‘探‘, ‘呀‘, ‘营‘,
               ‘退‘, ‘摇‘, ‘弄‘, ‘桌‘, ‘熟‘, ‘诺‘, ‘宣‘, ‘银‘, ‘势‘, ‘奖‘, ‘宫‘, ‘忽‘, ‘套‘, ‘康‘, ‘供‘, ‘优‘, ‘课‘, ‘鸟‘, ‘喊‘, ‘降‘,
               ‘夏‘, ‘困‘, ‘刘‘, ‘罪‘, ‘亡‘, ‘鞋‘, ‘健‘, ‘模‘, ‘败‘, ‘伴‘, ‘守‘, ‘挥‘, ‘鲜‘, ‘财‘, ‘孤‘, ‘枪‘, ‘禁‘, ‘恐‘, ‘伙‘, ‘杰‘,
               ‘迹‘, ‘妹‘, ‘藸‘, ‘遍‘, ‘盖‘, ‘副‘, ‘坦‘, ‘牌‘, ‘江‘, ‘顺‘, ‘秋‘, ‘萨‘, ‘菜‘, ‘划‘, ‘授‘, ‘归‘, ‘浪‘, ‘听‘, ‘凡‘, ‘预‘,
               ‘奶‘, ‘雄‘, ‘升‘, ‘碃‘, ‘编‘, ‘典‘, ‘袋‘, ‘莱‘, ‘含‘, ‘盛‘, ‘济‘, ‘蒙‘, ‘棋‘, ‘端‘, ‘腿‘, ‘招‘, ‘释‘, ‘介‘, ‘烧‘, ‘误‘,‘乾‘, ‘坤‘, ‘‘]

STATE_CODE=[{‘state‘: ‘北京市市辖区‘, ‘code‘: ‘110100‘}, {‘state‘: ‘北京市东城区‘, ‘code‘: ‘110101‘}, {‘state‘: ‘北京市西城区‘, ‘code‘: ‘110102‘}, {‘state‘: ‘北京市崇文区‘, ‘code‘: ‘110103‘}, {‘state‘: ‘北京市宣武区‘, ‘code‘: ‘110104‘}, {‘state‘: ‘北京市朝阳区‘, ‘code‘: ‘110105‘}, {‘state‘: ‘北京市丰台区‘, ‘code‘: ‘110106‘}, {‘state‘: ‘北京市石景山区‘, ‘code‘: ‘110107‘}, {‘state‘: ‘北京市海淀区‘, ‘code‘: ‘110108‘}, {‘state‘: ‘北京市门头沟区‘, ‘code‘: ‘110109‘}, {‘state‘: ‘北京市房山区‘, ‘code‘: ‘110111‘}, {‘state‘: ‘北京市通州区‘, ‘code‘: ‘110112‘}, {‘state‘: ‘北京市顺义区‘, ‘code‘: ‘110113‘}, {‘state‘: ‘北京市县‘, ‘code‘: ‘110200‘}, {‘state‘: ‘北京市昌平县‘, ‘code‘: ‘110221‘}, {‘state‘: ‘北京市大兴县‘, ‘code‘: ‘110224‘}, {‘state‘: ‘北京市平谷县‘, ‘code‘: ‘110226‘}, {‘state‘: ‘北京市怀柔县‘, ‘code‘: ‘110227‘}, {‘state‘: ‘北京市密云县‘, ‘code‘: ‘110228‘}, {‘state‘: ‘北京市延庆县‘, ‘code‘: ‘110229‘}, {‘state‘: ‘天津市市辖区‘, ‘code‘: ‘120100‘}, {‘state‘: ‘天津市和平区‘, ‘code‘: ‘120101‘}, {‘state‘: ‘天津市河东区‘, ‘code‘: ‘120102‘}, {‘state‘: ‘天津市河西区‘, ‘code‘: ‘120103‘}, {‘state‘: ‘天津市南开区‘, ‘code‘: ‘120104‘}, {‘state‘: ‘天津市河北区‘, ‘code‘: ‘120105‘}, {‘state‘: ‘天津市红桥区‘, ‘code‘: ‘120106‘}, {‘state‘: ‘天津市塘沽区‘, ‘code‘: ‘120107‘}, {‘state‘: ‘天津市汉沽区‘, ‘code‘: ‘120108‘}, {‘state‘: ‘天津市大港区‘, ‘code‘: ‘120109‘}, {‘state‘: ‘天津市东丽区‘, ‘code‘: ‘120110‘}, {‘state‘: ‘天津市西青区‘, ‘code‘: ‘120111‘}, {‘state‘: ‘天津市津南区‘, ‘code‘: ‘120112‘}, {‘state‘: ‘天津市北辰区‘, ‘code‘: ‘120113‘}, {‘state‘: ‘天津市县‘, ‘code‘: ‘120200‘}, {‘state‘: ‘天津市宁河县‘, ‘code‘: ‘120221‘}, {‘state‘: ‘天津市武清县‘, ‘code‘: ‘120222‘}, {‘state‘: ‘天津市静海县‘, ‘code‘: ‘120223‘}, {‘state‘: ‘天津市宝坻县‘, ‘code‘: ‘120224‘}, {‘state‘: ‘天津市蓟县‘, ‘code‘: ‘120225‘}, {‘state‘: ‘河北省石家庄市‘, ‘code‘: ‘130100‘}, {‘state‘: ‘河北省石家庄市市辖区‘, ‘code‘: ‘130101‘}, {‘state‘: ‘河北省石家庄市长安区‘, ‘code‘: ‘130102‘}, {‘state‘: ‘河北省石家庄市桥东区‘, ‘code‘: ‘130103‘}, {‘state‘: ‘河北省石家庄市桥西区‘, ‘code‘: ‘130104‘}, {‘state‘: ‘河北省石家庄市新华区‘, ‘code‘: ‘130105‘}, {‘state‘: ‘河北省石家庄市郊区‘, ‘code‘: ‘130106‘}, {‘state‘: ‘河北省石家庄市井陉矿区‘, ‘code‘: ‘130107‘}, {‘state‘: ‘河北省石家庄市井陉县‘, ‘code‘: ‘130121‘}, {‘state‘: ‘河北省石家庄市正定县‘, ‘code‘: ‘130123‘}, {‘state‘: ‘河北省石家庄市栾城县‘, ‘code‘: ‘130124‘}, {‘state‘: ‘河北省石家庄市行唐县‘, ‘code‘: ‘130125‘}, {‘state‘: ‘河北省石家庄市灵寿县‘, ‘code‘: ‘130126‘}, {‘state‘: ‘河北省石家庄市高邑县‘, ‘code‘: ‘130127‘}, {‘state‘: ‘河北省石家庄市深泽县‘, ‘code‘: ‘130128‘}, {‘state‘: ‘河北省石家庄市赞皇县‘, ‘code‘: ‘130129‘}, {‘state‘: ‘河北省石家庄市无极县‘, ‘code‘: ‘130130‘}, {‘state‘: ‘河北省石家庄市平山县‘, ‘code‘: ‘130131‘}, {‘state‘: ‘河北省石家庄市元氏县‘, ‘code‘: ‘130132‘}, {‘state‘: ‘河北省石家庄市赵县‘, ‘code‘: ‘130133‘}, {‘state‘: ‘河北省石家庄市辛集市‘, ‘code‘: ‘130181‘}, {‘state‘: ‘河北省石家庄市藁城市‘, ‘code‘: ‘130182‘}, {‘state‘: ‘河北省石家庄市晋州市‘, ‘code‘: ‘130183‘}, {‘state‘: ‘河北省石家庄市新乐市‘, ‘code‘: ‘130184‘}, {‘state‘: ‘河北省石家庄市鹿泉市‘, ‘code‘: ‘130185‘}, {‘state‘: ‘河北省唐山市‘, ‘code‘: ‘130200‘}, {‘state‘: ‘河北省唐山市市辖区‘, ‘code‘: ‘130201‘}, {‘state‘: ‘河北省唐山市路南区‘, ‘code‘: ‘130202‘}, {‘state‘: ‘河北省唐山市路北区‘, ‘code‘: ‘130203‘}, {‘state‘: ‘河北省唐山市古冶区‘, ‘code‘: ‘130204‘}, {‘state‘: ‘河北省唐山市开平区‘, ‘code‘: ‘130205‘}, {‘state‘: ‘河北省唐山市新区‘, ‘code‘: ‘130206‘}, {‘state‘: ‘河北省唐山市丰润县‘, ‘code‘: ‘130221‘}, {‘state‘: ‘河北省唐山市滦县‘, ‘code‘: ‘130223‘}, {‘state‘: ‘河北省唐山市滦南县‘, ‘code‘: ‘130224‘}, {‘state‘: ‘河北省唐山市乐亭县‘, ‘code‘: ‘130225‘}, {‘state‘: ‘河北省唐山市迁西县‘, ‘code‘: ‘130227‘}, {‘state‘: ‘河北省唐山市玉田县‘, ‘code‘: ‘130229‘}, {‘state‘: ‘河北省唐山市唐海县‘, ‘code‘: ‘130230‘}, {‘state‘: ‘河北省唐山市遵化市‘, ‘code‘: ‘130281‘}, {‘state‘: ‘河北省唐山市丰南市‘, ‘code‘: ‘130282‘}, {‘state‘: ‘河北省唐山市迁安市‘, ‘code‘: ‘130283‘}, {‘state‘: ‘河北省秦皇岛市秦皇岛市‘, ‘code‘: ‘130300‘}, {‘state‘: ‘河北省秦皇岛市市辖区‘, ‘code‘: ‘130301‘}, {‘state‘: ‘河北省秦皇岛市海港区‘, ‘code‘: ‘130302‘}, {‘state‘: ‘河北省秦皇岛市山海关区‘, ‘code‘: ‘130303‘}, {‘state‘: ‘河北省秦皇岛市北戴河区‘, ‘code‘: ‘130304‘}, {‘state‘: ‘河北省秦皇岛市青龙满族自治县‘, ‘code‘: ‘130321‘}, {‘state‘: ‘河北省秦皇岛市昌黎县‘, ‘code‘: ‘130322‘}, {‘state‘: ‘河北省秦皇岛市抚宁县‘, ‘code‘: ‘130323‘}, {‘state‘: ‘河北省秦皇岛市卢龙县‘, ‘code‘: ‘130324‘}, {‘state‘: ‘河北省邯郸市邯郸市‘, ‘code‘: ‘130400‘}, {‘state‘: ‘河北省邯郸市市辖区‘, ‘code‘: ‘130401‘}, {‘state‘: ‘河北省邯郸市邯山区‘, ‘code‘: ‘130402‘}, {‘state‘: ‘河北省邯郸市丛台区‘, ‘code‘: ‘130403‘}, {‘state‘: ‘河北省邯郸市复兴区‘, ‘code‘: ‘130404‘}, {‘state‘: ‘河北省邯郸市峰峰矿区‘, ‘code‘: ‘130406‘}, {‘state‘: ‘河北省邯郸市邯郸县‘, ‘code‘: ‘130421‘}, {‘state‘: ‘河北省邯郸市临漳县‘, ‘code‘: ‘130423‘}, {‘state‘: ‘河北省邯郸市成安县‘, ‘code‘: ‘130424‘}, {‘state‘: ‘河北省邯郸市大名县‘, ‘code‘: ‘130425‘}, {‘state‘: ‘河北省邯郸市涉县‘, ‘code‘: ‘130426‘}, {‘state‘: ‘河北省邯郸市磁县‘, ‘code‘: ‘130427‘}, {‘state‘: ‘河北省邯郸市肥乡县‘, ‘code‘: ‘130428‘}, {‘state‘: ‘河北省邯郸市永年县‘, ‘code‘: ‘130429‘}, {‘state‘: ‘河北省邯郸市邱县‘, ‘code‘: ‘130430‘}, {‘state‘: ‘河北省邯郸市鸡泽县‘, ‘code‘: ‘130431‘}, {‘state‘: ‘河北省邯郸市广平县‘, ‘code‘: ‘130432‘}, {‘state‘: ‘河北省邯郸市馆陶县‘, ‘code‘: ‘130433‘}, {‘state‘: ‘河北省邯郸市魏县‘, ‘code‘: ‘130434‘}, {‘state‘: ‘河北省邯郸市曲周县‘, ‘code‘: ‘130435‘}, {‘state‘: ‘河北省邯郸市武安市‘, ‘code‘: ‘130481‘}, {‘state‘: ‘河北省邢台市‘, ‘code‘: ‘130500‘}, {‘state‘: ‘河北省邢台市市辖区‘, ‘code‘: ‘130501‘}, {‘state‘: ‘河北省邢台市桥东区‘, ‘code‘: ‘130502‘}, {‘state‘: ‘河北省邢台市桥西区‘, ‘code‘: ‘130503‘}, {‘state‘: ‘河北省邢台市邢台县‘, ‘code‘: ‘130521‘}, {‘state‘: ‘河北省邢台市临城县‘, ‘code‘: ‘130522‘}, {‘state‘: ‘河北省邢台市内丘县‘, ‘code‘: ‘130523‘}, {‘state‘: ‘河北省邢台市柏乡县‘, ‘code‘: ‘130524‘}, {‘state‘: ‘河北省邢台市隆尧县‘, ‘code‘: ‘130525‘}, {‘state‘: ‘河北省邢台市任县‘, ‘code‘: ‘130526‘}, {‘state‘: ‘河北省邢台市南和县‘, ‘code‘: ‘130527‘}, {‘state‘: ‘河北省邢台市宁晋县‘, ‘code‘: ‘130528‘}, {‘state‘: ‘河北省邢台市巨鹿县‘, ‘code‘: ‘130529‘}, {‘state‘: ‘河北省邢台市新河县‘, ‘code‘: ‘130530‘}, {‘state‘: ‘河北省邢台市广宗县‘, ‘code‘: ‘130531‘}, {‘state‘: ‘河北省邢台市平乡县‘, ‘code‘: ‘130532‘}, {‘state‘: ‘河北省邢台市威县‘, ‘code‘: ‘130533‘}, {‘state‘: ‘河北省邢台市清河县‘, ‘code‘: ‘130534‘}, {‘state‘: ‘河北省邢台市临西县‘, ‘code‘: ‘130535‘}, {‘state‘: ‘河北省邢台市南宫市‘, ‘code‘: ‘130581‘}, {‘state‘: ‘河北省邢台市沙河市‘, ‘code‘: ‘130582‘}, {‘state‘: ‘河北省保定市‘, ‘code‘: ‘130600‘}, {‘state‘: ‘河北省保定市市辖区‘, ‘code‘: ‘130601‘}, {‘state‘: ‘河北省保定市新市区‘, ‘code‘: ‘130602‘}, {‘state‘: ‘河北省保定市北市区‘, ‘code‘: ‘130603‘}, {‘state‘: ‘河北省保定市南市区‘, ‘code‘: ‘130604‘}, {‘state‘: ‘河北省保定市满城县‘, ‘code‘: ‘130621‘}, {‘state‘: ‘河北省保定市清苑县‘, ‘code‘: ‘130622‘}, {‘state‘: ‘河北省保定市涞水县‘, ‘code‘: ‘130623‘}, {‘state‘: ‘河北省保定市阜平县‘, ‘code‘: ‘130624‘}, {‘state‘: ‘河北省保定市徐水县‘, ‘code‘: ‘130625‘}, {‘state‘: ‘河北省保定市定兴县‘, ‘code‘: ‘130626‘}, {‘state‘: ‘河北省保定市唐县‘, ‘code‘: ‘130627‘}, {‘state‘: ‘河北省保定市高阳县‘, ‘code‘: ‘130628‘}, {‘state‘: ‘河北省保定市容城县‘, ‘code‘: ‘130629‘}, {‘state‘: ‘河北省保定市涞源县‘, ‘code‘: ‘130630‘}, {‘state‘: ‘河北省保定市望都县‘, ‘code‘: ‘130631‘}, {‘state‘: ‘河北省保定市安新县‘, ‘code‘: ‘130632‘}, {‘state‘: ‘河北省保定市易县‘, ‘code‘: ‘130633‘}, {‘state‘: ‘河北省保定市曲阳县‘, ‘code‘: ‘130634‘}, {‘state‘: ‘河北省保定市蠡县‘, ‘code‘: ‘130635‘}, {‘state‘: ‘河北省保定市顺平县‘, ‘code‘: ‘130636‘}, {‘state‘: ‘河北省保定市博野县‘, ‘code‘: ‘130637‘}, {‘state‘: ‘河北省保定市雄县‘, ‘code‘: ‘130638‘}, {‘state‘: ‘河北省保定市涿州市‘, ‘code‘: ‘130681‘}, {‘state‘: ‘河北省保定市定州市‘, ‘code‘: ‘130682‘}, {‘state‘: ‘河北省保定市安国市‘, ‘code‘: ‘130683‘}, {‘state‘: ‘河北省保定市高碑店市‘, ‘code‘: ‘130684‘}, {‘state‘: ‘河北省张家口市‘, ‘code‘: ‘130700‘}, {‘state‘: ‘河北省张家口市市辖区‘, ‘code‘: ‘130701‘}, {‘state‘: ‘河北省张家口市桥东区‘, ‘code‘: ‘130702‘}, {‘state‘: ‘河北省张家口市桥西区‘, ‘code‘: ‘130703‘}, {‘state‘: ‘河北省张家口市宣化区‘, ‘code‘: ‘130705‘}, {‘state‘: ‘河北省张家口市下花园区‘, ‘code‘: ‘130706‘}, {‘state‘: ‘河北省张家口市宣化县‘, ‘code‘: ‘130721‘}, {‘state‘: ‘河北省张家口市张北县‘, ‘code‘: ‘130722‘}, {‘state‘: ‘河北省张家口市康保县‘, ‘code‘: ‘130723‘}, {‘state‘: ‘河北省张家口市沽源县‘, ‘code‘: ‘130724‘}, {‘state‘: ‘河北省张家口市尚义县‘, ‘code‘: ‘130725‘}...]这就不全部列出来了

代码主体:

import time, random,string,redis,os,sys
cur_path = os.path.abspath(__file__)
base_path = os.path.dirname(os.path.dirname(cur_path))
sys.path.insert(0,base_path)
from conf.confsetting import FIRST_NAME,LAST_NAME,STATE_CODE,REDIS_IP,REDIS_PORT,REDIS_PASSWD,REDIS_DB
def get_bornDate():
    ‘‘‘
    返回一个随机生成的‘19880914‘这样格式的日期
    ‘‘‘
    start_date = time.mktime(time.strptime(‘1930-01-01 00:00:00‘, ‘%Y-%m-%d %H:%M:%S‘))
    end_date = int(time.time())
    born_time = random.randint(start_date, end_date)  # 在开始和结束时间戳中随机取出一个时间戳
    date_touple = time.localtime(born_time)  # 时间戳转时间元组
    random_date = time.strftime("%Y%m%d", date_touple)  # 时间元组转成格式化字符串
    return random_date

def get_IdCard(u_card):
    ‘‘‘
    返回一个包含某个地区的18位身份证号和地区名称的元组(idcard,state)
    ‘‘‘
    src_num = string.digits
    src_c = string.digits + ‘X‘
    dic = STATE_CODE[random.randint(0, len(STATE_CODE))]
    idcard = dic[‘code‘] + get_bornDate() + ‘‘.join(random.sample(src_num, 3)) + ‘‘.join(random.sample(src_c, 1))
    if idcard in u_card: #如果生成的身份证redis已存在,则重新生成
        get_IdCard(u_card)
    else:
        return idcard

def get_name():
    ‘‘‘
    返回一个随机生成的姓名
    ‘‘‘
    l_name = LAST_NAME[random.randint(0,len(LAST_NAME))]
    #firstname随机取1-2个汉子
    count = random.randint(1,2)
    if count == 1:
        f_name = FIRST_NAME[random.randint(0,len(FIRST_NAME))]
    else:
        f_name = FIRST_NAME[random.randint(0,len(FIRST_NAME))]+FIRST_NAME[random.randint(0,len(FIRST_NAME))]
    name = l_name + f_name
    return name

count = input("请输入你要生成名字和身份证的数量:\n").strip()
for i in range(int(count)):
    r = redis.Redis(host=REDIS_IP, port=REDIS_PORT, password=REDIS_PASSWD, db=REDIS_DB, socket_timeout=10,
                    socket_connect_timeout=10)  # 获取数据
    name = get_name()
    user = r.hgetall(‘user‘)
    u_card = []
    for k in user:
        u_card.append(user[k].decode())
    new_id = get_IdCard(u_card)
    r.hset(‘user‘, name, new_id)

运行结果:

时间: 2024-08-04 20:54:29

python操作redis之随机生成18位身份证号码的相关文章

15/18位身份证号码验证的正则表达式总结(详细版)

前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM dd 375 0     十八位 xxxxxx    yy MM dd   75 0     十五位 地区: [1-9]\d{5} 年的前两位: (18|19|([23]\d))            1800-2399 年的后两位: \d{2} 月份: ((0[1-9])|(10|11|12)) 天

比较严谨的java验证18位身份证号码

/** * 我国公民的身份证号码特点如下 * 1.长度18位 * 2.第1-17号只能为数字 * 3.第18位只能是数字或者x * 4.第7-14位表示特有人的年月日信息 * 请实现身份证号码合法性判断的函数,函数返回值: * 1.如果身份证合法返回0 * 2.如果身份证长度不合法返回1 * 3.如果第1-17位含有非数字的字符返回2 * 4.如果第18位不是数字也不是x返回3 * 5.如果身份证号的出生日期非法返回4 * * @since 0.0.1 */ private int valida

18位身份证号码结构的系数算法

看了园子里一个随笔 http://www.cnblogs.com/10158wsj/p/7050736.html 身份证17位数分别乘以不同的系数.从第1位到第17位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2. 将这17位数字和系数相乘的结果相加 将step3的结果除以11,得出余数 由于数字的特殊性,这些余数只可能是0-10这11个数字,身份证最后一位的对应数字为1-0-X-9-8-7-6-5-4-3-2.. 系数怎么来的呢? 2^7%11-2^6%1

js验证15位或18位身份证

本篇文章是本人在网上搜集了一些验证,然后又个人进行一定修改的关于身份证的验证,欢迎修改指正..... function IdCardValidateRule(idCard) { var tip;    //1.传入15位或者18位身份证号码,18位号码末位可以为数字或X    idCard = idCard.toUpperCase();    //2.去掉身份证的左右空格    idCard = trim(idCard);    //3.判断输入的身份证长度    if (!(/(^\d{15}

生成随机的18位十六进制数字

这里的for循环之所以条件小于2,是为了增加十六进制数据的复杂度 至于生成多少个十六进制的数字,根据所需 拼接的结果字符串有点瑕疵,使用的时候手动处理去掉最后一个逗号","即可.     /**      * 生成随机的18位      * 十六进制数字      */     function random ()     {         $arr = array();         $str = 1;         while($str <= 18)         {

QTP生成18位的身份证,生日为当前年月日-old年,后面4位随机

Function GetNewIDCard(byval old) '--输入参数-- 'old in int, --生成的2位数年龄,不传值默认19岁 '--输出参数-- 'GetNewIDCard -- 18位的随机身份证,生日为当前年月日-old年,后面4位随机 '--------------------------------------------------------------- '-- 模块名称: GetNewIDCard '-- 描 述: 生成18位的随机身份证,生日为当前年月

中国公民18位身份证的规则和生成随机身份证的Java代码

18位身份证验证 * 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成. * 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. * 第十八位数字(校验码)的计算方法为: * 1.将前面的身份证号码17位数分别乘以不同的系数.从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 * 2.将这17位数字和系数

使用Python操作Redis详解

之前的五天,过了个愉快的周末,然后将公司AbaseDump的调度部分代码看懂并且在此之上完成了OnlyDump的功能代码,代码不可以公开,今天完工,明天测试,晚上来总结一下这几天学到的一点应用. 使用Python操作Redis详解 ------------------------------------------------------------------------------------------------- 一. 文档说明 本文档仅介绍Redis在Python中的使用,Redis

Python—操作redis

Python操作redis 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'zhangsan') '''参数: set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setn