>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__built
ins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__packag
e__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_u
ppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctua
tion', 'whitespace']
>>> string.ascii_lowercase #所有的小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase #所有的大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.hexdigits #所有的十六进制字符
'0123456789abcdefABCDEF'
>>> string.whitespace #所有的空白字符
' \t\n\r\x0b\x0c'
>>> string.punctuation #所有的标点字符
'!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'
常用标点符号 punctuation = ['!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~']
统计一个文件或一个字符串中所有单词出现的次数。由于句子中存在标点符号,直接对字符串切割的话会把单词和标点切割在一起。为了避免这个问题,我们可以先把句子中的标点符号统一替换为空格,然后在split()切割即可搞定。这时候就可以用上string.punctuation
import string #注意使用前要先将string模块导入
def read_file(txt): # txt为文件名
for c in string.punctuation:
txt = txt.replace(c,' ')
return txt.split