Python標準庫--string模塊
阿新 • • 發佈:2017-06-01
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模塊