python模塊學習string之造測試數據
阿新 • • 發佈:2017-12-21
file spl 使用 大寫 python split phone factor 通過
測試過程中需要一些隨機數據,使用到了python中的string模塊,記錄一下
#! /usr/bin/python # coding:utf-8 """ @author:Bingo.he @file: data_factory.py @time: 2017/12/21 """ import socket import struct import string import random def random_phoneNo(): """獲取隨機號碼""" return ‘1‘ + ‘‘.join(random.choice(string.digits) for i in range(10))def random_upper_code(length): """獲取大寫字母與數字的隨機碼""" return ‘‘.join(random.choice(string.ascii_uppercase + string.digits) for i in range(length)) def random_lower_code(length): """獲取小寫字母與數字的隨機碼""" return ‘‘.join(random.choice(string.ascii_lowercase + string.digits) for i in range(length))def random_IP(): """獲取隨機IP""" RANDOM_IP_POOL = [‘202.69.19.222/0‘] str_ip = RANDOM_IP_POOL[random.randint(0, len(RANDOM_IP_POOL) - 1)] str_ip_addr = str_ip.split(‘/‘)[0] str_ip_mask = str_ip.split(‘/‘)[1] ip_addr = struct.unpack(‘>I‘, socket.inet_aton(str_ip_addr))[0] mask = 0x0 fori in range(31, 31 - int(str_ip_mask), -1): mask = mask | (1 << i) ip_addr_min = ip_addr & (mask & 0xffffffff) ip_addr_max = ip_addr | (~mask & 0xffffffff) return socket.inet_ntoa(struct.pack(‘>I‘, random.randint(ip_addr_min, ip_addr_max)))
PS: 博主公司使用的手機號校驗規則就是1開頭,11位數字即可通過校驗
python模塊學習string之造測試數據