python中string.digits_Python3基础:String模块ascii_letters和digits

Python3基础:String模块ascii_letters和digits

(其实不止是python3 可以, python2.7 也可以)

本文介绍Python3中String模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9.

示例如下:

Python

>>> chars = string.ascii_letters + string.digits

>>> print(chars)

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

1

2

3

>>>

chars

=

string

.

ascii_letters

+

string

.

digits

>>>

print

(

chars

)

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

生成所有字母和数字干什么?在哪个场景中会用到呢,举个例子:比如生成激活码(优惠券),激活码一般都是字母和数字组成的,首先要有一个所有字母和数字的字符串,然后随机取出几个字母或数字。

Python

import random, string

def rand_str(num, length=7):

f = open('Activation_code.txt', 'w')

for i in range(num):

chars = string.ascii_letters + string.digits

s = [random.choice(chars) for i in range(length)]

f.write('{0}\n'.format(''.join(s)))

f.close()

if __name__ == '__main__':

rand_str(200)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import

random

,

string

def

rand_str

(

num

,

length

=

7

)

:

f

=

open

(

'Activation_code.txt'

,

'w'

)

for

i

in

range

(

num

)

:

chars

=

string

.

ascii_letters

+

string

.

digits

s

=

[

random

.

choice

(

chars

)

for

i

in

range

(

length

)

]

f

.

write

(

'{0}\n'

.

format

(

''

.

join

(

s

)

)

)

f

.

close

(

)

if

__name__

==

'__main__'

:

rand_str

(

200

)

执行结果片段:

wz0dajI 25vlulV zLHkx9Y GGzu0Ip RilbYKW 4WZL2IC 4syobYw kCMky7O oUPde55 KrMRmUX Ct0W2Pm wMwpPdk ydPuy9h Z7vo3r9 emcmQl0 GeIDKw3 PK9BLvg z4xNdVb I0EGA9O YPUh5UA 69gISVt Xun7GI3 YufPaD0 DsYZx2Q 3JfW1bh ydHELg6 NxNMRBa (最后一段代码示例来自https://github.com/tanteng/python/blob/master/DIYgod/0001/random_string.py,经过修正以运行在Python3下)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值