随机产生一个手机号,保证不重复

时间:2019-10-03
本文章向大家介绍随机产生一个手机号,保证不重复,主要包括随机产生一个手机号,保证不重复使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import random
import os.path

def get_mobile_no(mobile_no_file_path):

    mobile_no =""
    prifix =[135,136,137,138,150,159,188]

    while 1:
#随机选择一个开头 mobile_prifix
=random.choice(prifix)
#随机生成后八位 mobile_postfix
=random.randint(10000000,99999999)
#拼接 mobile_no
=str(mobile_prifix)+str(mobile_postfix)
#判断文件是否存在
try: with open(mobile_no_file_path,"a+") as fp:
#判重逻辑
if mobile_no in fp.read(): continue
#写入文件 fp.write(mobile_no+"\n") break except Exception as e: with open("no.txt","a+") as fp: if mobile_no in fp.read(): continue fp.write(mobile_no+"\n") break return mobile_no print(get_mobile_no("d:\\no2.txt"))

生成八位随机数也可以用zfill

Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

代码改动:

import random
import os.path

def get_mobile_no(mobile_no_file_path):

    mobile_no =""
    prifix =[135,136,137,138,150,159,188]

    while 1:
        mobile_prifix =random.choice(prifix)
        mobile_postfix =str(random.randint(0,99999999)).zfill(8)#从0开始,用zfill生成八位数
        mobile_no =str(mobile_prifix)+str(mobile_postfix)
        try:
            with open(mobile_no_file_path,"a+") as fp:
                if mobile_no in fp.read():
                    continue
                fp.write(mobile_no+"\n")
                break
        except  Exception as e:
            with open("no.txt","a+") as fp:
                if mobile_no in fp.read():
                    continue
                fp.write(mobile_no+"\n")
                break
    return mobile_no

print(get_mobile_no("d:\\no2.txt"))

遗留问题:用列表序列化做?

原文地址:https://www.cnblogs.com/wenm1128/p/10673388.html