2018-04-03-2-生成随机字符串

本文介绍了两种在Python中生成随机字符串的方法:一是使用uuid库获取随机字符串,二是利用md5进行摘要得到固定长度的字符串。特别地,还讨论了如何生成特定长度如4位的email_code。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成随机字符串

一个是uuid 为了获取一个随机字符串

另一个是md5摘要 用来获得固定长度的字符串

>>> import uuid
>>> import hashlib
>>> def get_filename():
	#获取随机的uuid类型的字符串
	my_uuid = uuid.uuid4()
	
	print(my_uuid)
	
	#把uuid转成str
	uuid_str = str(my_uuid).encode("utf-8")
	print(uuid_str)
	
	# 获得md5对象
	md5 = hashlib.md5()
	print(md5)
	
	#将我们需要做摘要的字符串 进行md5摘要
	md5.update(uuid_str)
	
	#获取32固定长度的结果
	return md5.hexdigest()

>>> get_filename()
5929c6e7-ee56-4a98-8bf6-b29b3acd860b
b'5929c6e7-ee56-4a98-8bf6-b29b3acd860b'
<md5 HASH object @ 0x0000000002DD0AD0>
'c09baa36821283d0b0a70668529cace9'
>>> ss ='c09baa36821283d0b0a70668529cace9'
>>> len(ss)
32
printable
#在python中, string.printable :包含所有可打印字符的字符串。
>>> from string import printable
>>> printable[:62]
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

choice
Python choice() 函数
choice(seq) 方法返回一个列表,元组或字符串的随机项
choice(seq) method of random.Random instance
    Choose a random element from a non-empty sequence.

>>> from random import choice
>>> choice(printable[:62])
'7'
>>> choice(printable[:62])
'z'
>>> choice(printable[:62])
'9'
>>> [choice(printable[:62]) for i in range(4)]
['9', 's', 'I', 'j']
>>> [choice(printable[:62]) for i in range(4)]
['T', 'h', '1', 'D']
>>> [choice(printable[:62]) for i in range(4)]
['p', 'y', 'h', 'h']

生成4位的email_code

>>> from string import printable
>>> from random import choice
>>> email_code = ''.join([choice(printable[:62]) for i in range(4)])
>>> email_code
'p7YB'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值