Jon wrote:
The following four lines of code:

import sys, os, re
sentence = raw_input("Enter a sentence:  ")
capwords (sentence)
print sentence

gives me the following error:  NameError: name 'capwords' is not defined

As far as I can tell from the online docs, "capwords" should be defined in
the built-in "regex" module.  Why is it telling me that capwords is not
defined?

Which docs are you looking at? I couldn't find documentation for a capwords method or class... Checking at the interactive prompt:


>>> import regex
__main__:1: DeprecationWarning: the regex module is deprecated; please use the re module
>>> dir(regex)
['__doc__', '__name__', 'casefold', 'compile', 'error', 'get_syntax', 'match', 'search', 'set_syntax', 'symcomp']
>>> import re
>>> dir(re)
['DOTALL', 'I', 'IGNORECASE', 'L', 'LOCALE', 'M', 'MULTILINE', 'S', 'U', 'UNICODE', 'VERBOSE', 'X', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'compile', 'engine', 'error', 'escape', 'findall', 'finditer', 'match', 'purge', 'search', 'split', 'sub', 'subn', 'template']


I don't see an object named capwords in either module.

What are you trying to do? If you just want to capitalize words, str.title() is probably the easier way to do this:

>>> s = "i wanted to be a lumberjack!"
>>> s.title()
'I Wanted To Be A Lumberjack!'

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to