1. 使用`random`模块:
import randomimport stringdef generate_password(length):chars = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(random.choice(chars) for _ in range(length))return passwordlength = int(input("请输入密码长度: "))password = generate_password(length)print("随机密码为: ", password)
2. 使用`secrets`模块:
import secretsimport stringdef generate_password(length=12):alphabet = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(secrets.choice(alphabet) for _ in range(length))return passwordpassword = generate_password()print(password)
3. 使用`random.sample`函数:

import randomdef random_password(length=8):list1 = [chr(i) for i in range(65,90)] + [chr(i) for i in range(97,122)]list2 = [str(i) for i in range(10)]all_chars = list1 + list2while True:password = ''.join(random.sample(all_chars, length))if len(password) == length:breakreturn passwordprint("随机密码为: ", random_password())
4. 使用`timeit`模块进行性能测试:
import randomimport stringimport timeitdef generate_password_way1(length):chars = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(random.sample(chars, length))return passworddef generate_password_way2(length):chars = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(random.choice(chars) for _ in range(length))return password测试两种方法生成密码的性能time_way1 = timeit.timeit(lambda: generate_password_way1(100), number=)time_way2 = timeit.timeit(lambda: generate_password_way2(100), number=)print("方法1耗时: ", time_way1)print("方法2耗时: ", time_way2)
你可以根据需要选择合适的方法来生成密码,并且可以通过修改字符集合和密码长度来生成不同类型的密码。如果你需要更复杂的密码,比如包含特殊字符或者数字和字母的混合,可以调整`string.punctuation`和`string.ascii_letters`、`string.digits`来包含你想要的字符集。
