这段代码用于生成指定格式的虚拟手机号码,并将这些手机号码保存到一个文本文件中。下面是代码的主要功能和逻辑:
generate_phone_number(province, prefix, suffix)
函数用于生成一个虚拟手机号码,其中province
表示省份代码,prefix
表示前三位号段,suffix
表示后两位号码。生成的号码格式为province-prefix-6位随机数字-suffix
。generate_unique_phone_numbers(num_numbers, province, prefix, suffix)
函数用于生成指定数量的唯一虚拟手机号码。它通过调用generate_phone_number
函数生成号码,并使用集合phone_numbers
来确保生成的号码唯一。直到集合中的号码数量达到指定的num_numbers
时,循环生成号码。save_phone_numbers_to_file(phone_numbers, filename)
函数用于将生成的手机号码保存到指定的文本文件中。它遍历phone_numbers
列表,并将每个号码写入文件中,每行一个号码。- 在代码中设置了自定义的省份代码 (
custom_province
)、前三位号段 (custom_prefix
) 和后两位号码 (custom_suffix
)。 - 调用
generate_unique_phone_numbers
生成了 100 个唯一的虚拟手机号码,并将它们保存到名为 “phone_numbers.txt” 的文本文件中。
最终,代码会在控制台上输出 “Generated Unique Phone Numbers saved to phone_numbers.txt”,指示已生成并保存虚拟手机号码。如果输入的号码格式不正确,则会输出 “Error: Invalid input”。
完整的源码如下:
import random
def generate_phone_number(province, prefix, suffix):
if len(province) != 2 or len(prefix) != 3 or len(suffix) != 2:
return None
middle_digits = ''.join(str(random.randint(0, 9)) for _ in range(6))
phone_number = f"{province}-{prefix}-{middle_digits}-{suffix}"
return phone_number
def generate_unique_phone_numbers(num_numbers, province, prefix, suffix):
phone_numbers = set()
while len(phone_numbers) < num_numbers:
phone_number = generate_phone_number(province, prefix, suffix)
if phone_number:
phone_numbers.add(phone_number)
return list(phone_numbers)
def save_phone_numbers_to_file(phone_numbers, filename):
with open(filename, 'w') as file:
for number in phone_numbers:
file.write(number + '\n')
custom_province = "HE" #省份代码
custom_prefix = "151" # 前三位
custom_suffix = "27" # 后二位
output_file = "phone_numbers.txt"
generated_numbers = generate_unique_phone_numbers(100, custom_province, custom_prefix, custom_suffix)
if generated_numbers:
save_phone_numbers_to_file(generated_numbers, output_file)
print("Generated Unique Phone Numbers saved to", output_file)
else:
print("Error: Invalid input")
你可以将这段代码保存为一个 `.py` 文件,然后运行它。运行后,它将生成并保存指定数量的虚拟手机号码到名为 “phone_numbers.txt” 的文本文件中。确保设置了 `custom_province`、`custom_prefix` 和 `custom_suffix` 来自定义号码的格式。
评论前必须登录!
注册