python自动生成证件号的方法示例
前言
在跟进需求的时候,往往涉及到测试,特别是需要用到身份信息的时候,总绕不开身份证号码这个话题。之前在跟一个互联网产品的时候,需要很多身份证做测试,又不想装太多软件自动生成(有需要的小伙伴可自行搜索身份证号码自动生成软件),按照身份证规则现编也比较浪费时间,在处理身份数据时,Python就非常有用了。
方法示例如下
#Author:BeeLe #-*-coding:utf-8-*- #生成身份证号码主程序 importurllib.request importrequests frombs4importBeautifulSoup importre importrandom importtime importlxml #classIDCard(): defregiun(strarr): '''生成身份证前六位''' first=random.choice(strarr) returnfirst defyear(): '''生成年份''' #1978为第一代身份证执行年份,now-18直接过滤掉小于18岁出生的年份 now=time.strftime('%Y') second=random.randint(1978,int(now)-18) #age=int(now)-second #print('随机生成的身份证人员年龄为:'+str(age)) returnsecond defmonth(): '''生成月份''' three=random.randint(1,12) ifthree<10: three='0'+str(three) returnthree else: returnthree defday(year,month): '''生成日期''' four=getDay(year,month) #日期小于10以下,前面加上0填充 iffour<10: four='0'+str(four) returnfour returnfour defgetDay(year,month): '''根据传来的年月份返回日期''' #1,3,5,7,8,10,12月为31天,4,6,9,11为30天,2月闰年为28天,其余为29天 aday=0 ifmonthin(1,3,5,7,8,10,12): aday=random.randint(1,31) elifmonthin(4,6,9,11): aday=random.randint(1,30) else: #即为2月判断是否为闰年 if((year%4==0andyear%100!=0)or(year%400==0)): aday=random.randint(1,28) else: aday=random.randint(1,29) returnaday defrandoms(): '''生成身份证后四位''' five=random.randint(1,9999) iffive<10: five='000'+str(five) elif10总结
到此这篇关于python自动生成证件号的文章就介绍到这了,更多相关python自动生成证件号内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!