1. 程式人生 > >Python標準庫--string模塊

Python標準庫--string模塊

err 分隔 xca provide python 變量 dog upper miss

string中包含了處理文本的常量和模板

常量

print(string.whitespace)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.ascii_letters)
print(string.digits)
print(string.hexdigits)
print(string.octdigits)
print(string.punctuation)
print(string.printable)

"""
     

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&‘()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&‘()*+,-./:;<=>?@[\]^_`{|}~     


""" # 第一個是幾個空行,Windows輸出有點問題

函數

capwords():每個單詞首字母大寫,可自定義單詞間分隔符
s = This is a dog
print(s)
print(string.capwords(s))

s2 = This-is-a-dog
print(s2)
print(string.capwords(s2, -))

"""
This is a dog
This Is A Dog
This-is-a-dog
This-Is-A-Dog

"""

模板

substitute() 傳入模板變量, 沒有就報錯
safe_substitute() 捕獲異常,原樣輸出
 
values = {var: boo}

t = string.Template("""
    Variable        :$var
    Excape          : $$
    Variable in text: ${var}iable
""")

print(t.substitute(values))

t2 = string.Template("$var is here but $missing is not provided")

try:
    print(t2.substitute(values))
except KeyError as err:
    
print(ERROR:, str(err)) print(t2.safe_substitute(values)) """ Variable :boo Excape : $ Variable in text: booiable ERROR: ‘missing‘ boo is here but $missing is not provided """

$$ 輸出 $

自定義模板類繼承string中的模板類,可自定義變量定界符,和變量查找規則

class MyTemplate(string.Template):
    delimiter = %
    idpattern = [a-z]+_[a-z]+

Formatter

Python標準庫--string模塊