diff -r 8c1438c15ed0 Lib/pydoc.py --- a/Lib/pydoc.py Mon Jul 28 00:19:36 2014 +0200 +++ b/Lib/pydoc.py Mon Jul 28 18:46:51 2014 +0100 @@ -1567,7 +1567,9 @@ if isinstance(thing, str): object = locate(thing, forceload) if not object: - raise ImportError('no Python documentation found for %r' % thing) + raise ImportError('No Python documentation found for %r.\n' + 'Use help("help") or just help() to get the interactive help utility.\n' + 'Use help(str) for help on the str class.' % thing) return object, thing else: name = getattr(thing, '__name__', None) @@ -1852,7 +1854,7 @@ def help(self, request): if type(request) is type(''): request = request.strip() - if request == 'help': self.intro() + if request == 'help': self() elif request == 'keywords': self.listkeywords() elif request == 'symbols': self.listsymbols() elif request == 'topics': self.listtopics() @@ -1866,6 +1868,7 @@ elif request in self.keywords: self.showtopic(request) elif request in self.topics: self.showtopic(request) elif request: doc(request, 'Help on %s:', output=self._output) + else: doc(str, 'Help on %s:', output=self._output) elif isinstance(request, Helper): self() else: doc(request, 'Help on %s:', output=self._output) self.output.write('\n') diff -r 8c1438c15ed0 Lib/test/test_pydoc.py --- a/Lib/test/test_pydoc.py Mon Jul 28 00:19:36 2014 +0200 +++ b/Lib/test/test_pydoc.py Mon Jul 28 18:46:51 2014 +0100 @@ -249,7 +249,9 @@ for s in expected_data_docstrings) # output pattern for missing module -missing_pattern = "no Python documentation found for '%s'" +missing_pattern = os.linesep.join(['No Python documentation found for %r.\n', + 'Use help("help") or just help() to get the interactive help utility.\n', + 'Use help(str) for help on the str class.']) # output pattern for module with bad imports badimport_pattern = "problem in %s - ImportError: No module named %r"