浅谈String模块ascii_letters和digits

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

示例如下:

In [2]: chars = string.ascii_letters + string.digits

In [3]: print(chars)
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

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

In [3]: import random,string
In [4]: 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)
   ...:

生成了一个Activation_code.txt文件,如图:

内容如下:

NkjmMrL
L3Z5BjZ
WSTaprg
cneoNCQ
EtYRNZX
gYY14GK
hEhhgRM
VGD35Vo
krtzuHD
SLk1D37
68TnbAv
RtceKWE
cOx7l87
71uT0o6
ClUfT5Q
O6nmQWD
M2b3sx0
NsCkFKO
r6Jh5LM
KY57KL0
LpJJweL
fHK9ONG
SAfZBkc
ycmiTla
7IRJHQR
83PhGhP
FOKgT8a
rHMoCuc
sLd1J2C
poGo6Hn
FuU5H5E
pYV3yUq
APJSxzl
QpFHULN
ao63jjZ
4tPi790
cPDTvUQ
LMUuKxp
m72rvxC
C5kvNmk
BjeFNig
8ih206i
j3RkULM
IZnYjqD
ILjmKDx
K5Z5bQm
cBxJziK
8aRpkmU
JGqw4mx
NSvBFGO
mhDGina
6umZHdj
0N2hDyu
y6TtW5k
sTuII4a
hH6CnhT
bJRUU9G
bK38x7n
7JYKNuO
HfZ1R3r
fRfvJd5
aMFP1J4
nUFytKX
CfoKevR
iKvNLiW
IvAHqNC
dteDej1
GWBvtJL
aryuT9G
BYFY8t6
S2yCvy4
ZWOYkRy
1bI7ad1
JvMAA86
Nop10tJ
XZDetXj
idbluDS
xyf9M7C
TSY2vDZ
hBVdw0Z
K7bY5Lu
vmcI2Kb
npy5GJc
sYHrBLK
mLFYPh1
AnIvBRg
TMvzxK0
ObxJ6yP
E9eiRh3
EMovni7
1P1jDAb
iPEoLuC
tfr68fo
grNJzjz
NNDitm8
Kb7tVWK
DhsueP1
5NVMzVR
Ekdmfwl
Wv2WHui
xfh2M0v
IKkcdjz
11eMT8M
3Eh2nr3
lHJKpaF
P5NEcrn
oOdGE06
wVnEsJG
aUFEbMU
Wryb97U
IPoFVDi
H2eXNZ5
Ijamrlh
1cMkOTP
kLZ5rSj
y23jl8O
5Igwd3D
t1btfKo
6xoUeaf
asOMtG1
24L4VLK
jKDeNmH
IOg572i
pPfynrL
tOkZBp1
qeNMVnt
fK6Ma2D
HI9Bc4i
5S727EW
TMi2OBP
wbrNLL3
0BxrEIH
ADkUpzd
EZDqDOP
FDLAMtv
udfzu28
CPp6Z0G
ptf8YNa
POt8jpv
4a6fpiK
oux3JiK
e8fxCw1
z1ZvufB
Be6Zl3w
WEq7m8W
W94B68P
qTVfFLC
AO9awjc
q7AfX9y
4ELYqEW
zYAuCeL
P9qmKRq
97Py6su
hcb62Nr
UGZ0mqG
3A71orU
P8Q40O8
z3Ia7Xq
WQIISLD
nwx0xcZ
8HPUXFN
eSvJKJE
jNG8pyE
vMpcPkc
v5nkHVl
RyNsxSD
Fp3SSEC
9bCbLv2
GdMZMYe
A8PDaVE
DMPvpS5
OWPZFZk
GVOAY3j
vQefxQK
JO415kp
Qtbu6rE
0kbPooo
F4Lf5Kp
mI3Kwt3
qwYybC9
TQJJwlJ
ho5k2t4
0Co0A95
wVaggxp
TbAKHCD
i4bDyx0
EUTAJ5r
LiVZv0w
yZUoGsD
2LvY0Ie
PTXxhpg
FQU9dnN
TloBN3Z
d06uXpk
NjlY24X
GQjDjUh
htcFqlI
e8m8bak
O6L0QaX
U15RVBH

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nummy

Uninformed search Python实现【译】

图的搜索可以分为uninformed搜索和informed搜索,两者的区别是前者是的搜索是盲目的,它不知道目标节点在哪,而后者是启发式的搜索。

1072
来自专栏V站

Python科学计算:在Numpy的边缘试探(入门学习)

2006
来自专栏跟着阿笨一起玩NET

浅谈UML中类之间的五种关系及其在代码中的表现形式

类有很多种提炼角度,需要根据系统地目标、业务的场景,选取合适的角度对事物进行归纳。

1682
来自专栏用户2442861的专栏

MATLAB 中有哪些命令,让人相见恨晚?

提问都说了是命令,大家回答那么多函数干什么... 我来给一个超级大杀器 在命令行敲入 dbstop if error

4211
来自专栏C/C++基础

认识UML类关系——依赖、关联、聚合、组合、泛化

在学习面向对象设计时,类关系涉及依赖、关联、聚合、组合和泛化这五种关系,耦合度依次递增。关于耦合度,可以简单地理解为当一个类发生变更时,对其他类造成的影响程度,...

1272
来自专栏数据结构与算法

P1789 【Mc生存】插火把

题目背景 初一党应该都知道...... 题目描述 话说有一天linyorson在Mc开了一个超平坦世界,他把这个世界看成一个n*n的方阵,现在他有m个火把和k个...

3635
来自专栏落影的专栏

程序员进阶之算法练习(二十九)

2802
来自专栏python爬虫实战之路

使用bloomfilter修改scrapy-redis去重

这篇文章憋的太久了,断断续续战线拉了好长。这个也是属于喜马拉雅那个项目的一部分,还要再忙一阵子。请大家见谅。

2012
来自专栏后端技术探索

(答案来了)两道腾讯面试题目

前天推送的文章《两道腾讯技术面试题(二面经历)》,收到了不少留言,感兴趣的可以去哪篇文章下查看精选留言,有一多半同学没有正确理解题目,可分享的留言寥寥无几,根据...

1071
来自专栏漫漫深度学习路

pytorch学习笔记(九):PyTorch结构介绍

PyTorch结构介绍 对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握。水平有限,如有错误,欢迎指错,...

3036

扫码关注云+社区

领取腾讯云代金券