Вы можете использовать split
, чтобы разделить в соответствии с разделителем (в вашем случае достаточно разделителя пробела по умолчанию), а затем посчитать длину списка:
In [49]: my_str = 'A very valid, and nice example.'
In [50]: len(my_str.split())
Out[50]: 6
Редактировать: Как у вас естьЗнаки препинания в вашем примере, вы можете сначала удалить их:
In [59]: my_str
Out[59]: 'A very valid, and nice example.'
In [60]: len(re.sub('[^\w\s]', '', my_str).split())
Out[60]: 6
In [61]: len(re.sub('[^\w\s]', '', '...').split())
Out[61]: 0
Таким образом, будут удалены все символы, которые не являются буквенно-цифровыми и не являются пробелами.