If your titles do not contain several whitespace characters in a row (which would be collapsed), you can use string.capwords() instead:
>>> import string
>>> string.capwords("john's school")
"John's School"
EDIT: As Chris Morgan rightfully says below, you can alleviate the whitespace collapsing issue by specifying " "
in the sep
argument:
>>> string.capwords("john's school", " ")
"John's School"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…