自己写:
import random
def EditNumber(content):
with open(file='number.txt', mode="a", encoding='utf-8') as file_s:
# file —— 文件路径;mode —— 模式,即是写还是读等;encoding —— 字符集
file_s.write(content + '\n') # 写入内容
file_s.close() # 关闭文件
array = ['131','132','134','135','136','137','138','139','147','150','151','152','157','158','159','178','182','183','184','187','188','198','130','131','132','155','156','166','185','186','145','176','133','153','177','173','180','181','189','199']
numberArr=[]
for i in range(0,100):
num=['0','1','2','3','4','5','6','7','8','9']
number=random.choice(array)+''.join(random.sample(num, 8))
numberArr=list(set(numberArr))
numberArr.append(number)
i=len(numberArr)
for itme in numberArr:
EditNumber(itme)
random.choice(array) # 从列表中随机抽取一个值,这个列表是号码段列表
random.sample(num, 8) # 列表中随机取出八个值,这个列表字符串形式的阿拉伯数字列表
因为random.sample(num, 8)得到的是列表,所以用join函数将其转为字符串(单引号之间是连接符,这里我没有使用连接符,可以是' _ '等),然后使用 “ + ” 将其与random.choice(array)连接起来得到一个号码
range(0,100)得到的其实是一个iterable类型,在python里解释为可以迭代的对象,所以可以使用for来遍历产生的结果,这里for可以循环一百遍
numberArr=list(set(numberArr)) # set()可以去重,防止有重复号码;list()将结果转化为列表类型,在这里它应该用不上
numberArr.append(number) # 将生成的号码添加到列表里
i=len(numberArr) # 防止去重影响号码数量
使用faker模块
***主要用来创建伪数据***
安装faker模块:pip install Faker
国内源安装:pip3 install -i https://pypi.doubanio.com/simple/ faker
from faker import Faker
fake = Faker('zh_CN')
numberArr=[]
def EditNumber(content):
with open(file='number.txt', mode="a", encoding='utf-8') as file_s:
# file —— 文件路径;mode —— 模式,即是写还是读等;encoding —— 字符集
file_s.write(content + '\n') # 写入内容
file_s.close() # 关闭文件
for i in range(0,100):
numberArr = list(set(numberArr))
numberArr.append(fake.phone_number())
i=len(numberArr)
for itme in numberArr:
EditNumber(itme)
fake.phone_number() # 生成号码