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自动生成证件号内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!