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
>>>
(
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下)
總結
以上是生活随笔為你收集整理的python中string.digits_Python3基础:String模块ascii_letters和digits的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017-06-19 (cp mkdir
- 下一篇: mysql js 命令行登录_mysql