1. 程式人生 > >人生苦短,我學python之python+selenium 隨機生成手機號碼和身份證

人生苦短,我學python之python+selenium 隨機生成手機號碼和身份證

count read delta selenium 隨機 urn etime 手機號 身份證號

# coding:utf-8
import os
import random
import random
import string
import time
from datetime import date, datetime, timedelta
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
print BASE_DIR
DC_PATH = ‘E:\\zsjj\\‘ + "districtcode.txt"
print (DC_PATH)

# 隨機生成手機號碼
def createPhone():
prelist = ["130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "153",
"155", "156", "157", "158", "159", "186", "187", "188"]
return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8))


# 隨機生成身份證號
def getdistrictcode():
with open(DC_PATH) as file:
data = file.read()
districtlist = data.split(‘\n‘)
for node in districtlist:
# print node
if node[10:11] != ‘ ‘:
state = node[10:].strip()
if node[10:11] == ‘ ‘ and node[12:13] != ‘ ‘:
city = node[12:].strip()
if node[10:11] == ‘ ‘ and node[12:13] == ‘ ‘:
district = node[14:].strip()
code = node[0:6]
codelist.append({"state": state, "city": city, "district": district, "code": code})


def gennerator():
global codelist
codelist = []
if not codelist:
getdistrictcode()
id = codelist[random.randint(0, len(codelist))][‘code‘] # 地區項
id = id + str(random.randint(1930, 2013)) # 年份項
da = date.today() + timedelta(days=random.randint(1, 366)) # 月份和日期項
id = id + da.strftime(‘%m%d‘)
id = id + str(random.randint(100, 300)) # ,順序號簡單處理

i = 0
count = 0
weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] # 權重項
checkcode = {‘0‘: ‘1‘, ‘1‘: ‘0‘, ‘2‘: ‘X‘, ‘3‘: ‘9‘, ‘4‘: ‘8‘, ‘5‘: ‘7‘, ‘6‘: ‘6‘, ‘7‘: ‘5‘, ‘8‘: ‘5‘, ‘9‘: ‘3‘,
‘10‘: ‘2‘} # 校驗碼映射
for i in range(0, len(id)):
count = count + int(id[i]) * weight[i]
id = id + checkcode[str(count % 11)] # 算出校驗碼
return id


print createPhone()
print gennerator()

人生苦短,我學python之python+selenium 隨機生成手機號碼和身份證