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

Posted wenm1128

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机产生一个手机号,保证不重复相关的知识,希望对你有一定的参考价值。

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"))

 

 

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

以上是关于随机产生一个手机号,保证不重复的主要内容,如果未能解决你的问题,请参考以下文章

python随机产生手机号和邮箱号

python_生成随机手机号

随机生成手机号

写一个函数,随机生成N条不重复的手机号

写一个函数,输入一个数,随机生成N条邮箱

如何让C#产生不重复的随机数