python中的string模块

可以通过引入该模块来轻易调用与字符串相关的函数,比如写脚本时需要用到A~Z这26个字母,那么我们不需要手动将这写字母敲出来,而是可以直接使用string模块来实现

python2/python3中的string模块及其变量

ascii_letters

获得大小写英文字母:

1
2
3
>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

ascii_uppercase

获取大写英文字母

1
2
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

ascii_lowercase

获取小写英文字母

1
2
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'

digits

获取十进制数字字符

1
2
>>> string.digits
'0123456789'

octdigits

获取八进制数字字符

1
2
>>> string.octdigits
'01234567'

hexdigits

获取十六进制数字字符

1
2
>>> string.hexdigits
'0123456789abcdefABCDEF'

printable

获取所有可打印字符

1
2
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

punctuation

获取所有符号

1
2
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

python2中的maketrans和translate

可以先用maketrans创建一个替换规则,再用translate按照规则来实现转换

1
2
3
4
>>> a = string.maketrans('abcd', '1234')
>>> s = "wow, it's a good news"
>>> s.translate(a)
"wow, it's 1 goo4 news"

用这两个函数可以很轻松地实现单表代换密码的解密