tags:

views:

285

answers:

6

Is there any way to search for a perticular package/function using keywords in python console...

for example i may want to search "pdf" for pdf related tasks.

A: 

Try help() or dir(). AFAIR there's no builtin support for pdf-related tasks in plain Python installation. Another way to find help for Python modules is to google ;)

Docs:

http://docs.python.org/library/functions.html#help

http://docs.python.org/library/functions.html#dir

EDIT:

>>> import os
>>> def search_help(keyword):
...     os.system('python Lib/pydoc.py -k %s' % keyword)
...
>>> search_help('math')
cmath - This module is always available. It provides access to mathematical
math - This module is always available.  It provides access to the
test.test_cmath
test.test_math
>>> search_help('pdf')
>>> _

You have to have main python dir in your path. And it won't work under IDLE. HTH.

paffnucy
@Umair - use help system bundled with your python installation. You can also try this - http://pypi.python.org/pypi?:action=browse - it's a list of python modules, sorted by topic.@Jaime - you can use help('math') without importing anything.
paffnucy
A: 

In console type help(object):

Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> help(dir)
Help on built-in function dir in module __builtin__:

dir(...)
    dir([object]) -> list of strings
....

Unfortunatelly there is no help for pdf:

>>> help(pdf)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'pdf' is not defined
>>>

As paffnucy said try searching internet (SO works wery well :)

This site can be helpful as well: http://www.gotapi.com/python

Michał Niklas
+1  A: 

You can use help to access the docstrings of the different modules you have imported, e.g., try the following:

help(math)

and you'll get an error,

import math
help(math)

and you will get a list of the available methods in the module, but only AFTER you have imported it. It also works with individual functions, e.g. after importing math try:

help(math.sin)

To deal with pdf you will probably have to install a third party module. A quick search has led me to this result, which I haven't tried:

http://www.devshed.com/c/a/Python/Python-for-PDF-Generation/

Jaime
+1  A: 

help( "modules")

>>> help( "modules" )

Please wait a moment while I gather a list of all available modules...

C:\Program Files\Python26\lib\pkgutil.py:110: DeprecationWarning: The wxPython compatibility package is no longer automatically generated or actively maintained.  Please switch to the wx package as soon
  __import__(name)
ArgImagePlugin      WmfImagePlugin      dbhash              pyclbr
BaseHTTPServer      XVThumbImagePlugin  decimal             pydoc
Bastion             XbmImagePlugin      difflib             pydoc_topics
BdfFontFile         XpmImagePlugin      dircache            pyexpat
BmpImagePlugin      _LWPCookieJar       dis                 quopri
BufrStubImagePlugin _MozillaCookieJar   distutils           random
CGIHTTPServer       __builtin__         doctest             re
Canvas              __future__          dumbdbm             repr
ConfigParser        _abcoll             dummy_thread        rexec
ContainerIO         _ast                dummy_threading     rfc822
Cookie              _bisect             email               rlcompleter
CurImagePlugin      _bsddb              encodings           robotparser
DcxImagePlugin      _bytesio            errno               runpy
Dialog              _codecs             exceptions          sched
DocXMLRPCServer     _codecs_cn          filecmp             select
EpsImagePlugin      _codecs_hk          fileinput           sets
ExifTags            _codecs_iso2022     fnmatch             sgmllib
FileDialog          _codecs_jp          formatter           sha
FitsStubImagePlugin _codecs_kr          fpformat            shelve
FixTk               _codecs_tw          fractions           shlex
FliImagePlugin      _collections        ftplib              shutil
FontFile            _csv                functools           signal
FpxImagePlugin      _ctypes             future_builtins     site
GbrImagePlugin      _ctypes_test        gc                  smtpd
GdImageFile         _elementtree        genericpath         smtplib
GifImagePlugin      _fileio             getopt              sndhdr
GimpGradientFile    _functools          getpass             socket
GimpPaletteFile     _hashlib            gettext             sqlite3
GribStubImagePlugin _heapq              glob                sre
HTMLParser          _hotshot            gzip                sre_compile
Hdf5StubImagePlugin _imaging            hashlib             sre_constants
IcnsImagePlugin     _imagingft          heapq               sre_parse
IcoImagePlugin      _imagingmath        hmac                ssl
ImImagePlugin       _imagingtk          hotshot             stat
Image               _json               htmlentitydefs      statvfs
ImageChops          _locale             htmllib             string
ImageColor          _lsprof             httplib             stringold
ImageDraw           _md5                idlelib             stringprep
ImageDraw2          _msi                ihooks              strop
ImageEnhance        _multibytecodec     imageop             struct
ImageFile           _multiprocessing    imaplib             subprocess
ImageFileIO         _random             imghdr              sunau
ImageFilter         _sha                imp                 sunaudio
ImageFont           _sha256             imputil             symbol
ImageGL             _sha512             inspect             symtable
ImageGrab           _socket             io                  sys
ImageMath           _sqlite3            itertools           tabnanny
ImageMode           _sre                json                tarfile
ImageOps            _ssl                keyword             telnetlib
ImagePalette        _strptime           lib2to3             tempfile
ImagePath           _struct             linecache           test
ImageQt             _subprocess         locale              textwrap
ImageSequence       _symtable           logging             this
ImageStat           _testcapi           macpath             thread
ImageTk             _threading_local    macurl2path         threading
ImageTransform      _tkinter            mailbox             time
ImageWin            _warnings           mailcap             timeit
ImtImagePlugin      _weakref            markupbase          tkColorChooser
IptcImagePlugin     _winreg             marshal             tkCommonDialog
JpegImagePlugin     abc                 math                tkFileDialog
McIdasImagePlugin   aifc                md5                 tkFont
MicImagePlugin      anydbm              mhlib               tkMessageBox
MimeWriter          array               mimetools           tkSimpleDialog
MpegImagePlugin     ast                 mimetypes           toaiff
MspImagePlugin      asynchat            mimify              token
OleFileIO           asyncore            mmap                tokenize
PIL                 atexit              modulefinder        trace
PSDraw              audiodev            msilib              traceback
PaletteFile         audioop             msvcrt              tty
PalmImagePlugin     base64              multifile           turtle
PcdImagePlugin      bdb                 multiprocessing     types
PcfFontFile         binascii            mutex               unicodedata
PcxImagePlugin      binhex              netrc               unittest
PdfImagePlugin      bisect              new                 update_manifest
PixarImagePlugin    bsddb               nntplib             urllib
PngImagePlugin      bz2                 nt                  urllib2
PpmImagePlugin      cPickle             ntpath              urlparse
PsdImagePlugin      cProfile            nturl2path          user
Queue               cStringIO           numbers             uu
ScrolledText        calendar            opcode              uuid
SgiImagePlugin      cgi                 operator            warnings
SimpleDialog        cgitb               optparse            wave
SimpleHTTPServer    chunk               os                  weakref
SimpleXMLRPCServer  cmath               os2emxpath          webbrowser
SocketServer        cmd                 parser              whichdb
SpiderImagePlugin   code                pdb                 winsound
StringIO            codecs              pickle              wsgiref
SunImagePlugin      codeop              pickletools         wx
TarIO               collections         pipes               wxPython
TgaImagePlugin      colorsys            pkgutil             wxversion
TiffImagePlugin     commands            platform            xdrlib
TiffTags            compileall          plistlib            xml
Tix                 compiler            popen2              xmllib
Tkconstants         contextlib          poplib              xmlrpclib
Tkdnd               cookielib           posixfile           xxsubtype
Tkinter             copy                posixpath           zipfile
UserDict            copy_reg            pprint              zipimport
UserList            csv                 profile             zlib
UserString          ctypes              pstats
WalImageFile        curses              pty
WbmpImagePlugin     datetime            py_compile

Enter any module name to get more help.  Or, type "modules spam" to search
for modules whose descriptions contain the word "spam".

>>>
John Pirie
+4  A: 

The pydoc -k flag searches the documentation.

pydoc -k <keyword>
    Search for a keyword in the synopsis lines of all available modules.

From a terminal, run..

$ pydoc -k pdf

..for example:

$ pydoc -k pdf
PdfImagePlugin 
wx.lib.pdfwin 
PIL.PdfImagePlugin

It doesn't search the contents of the documentation, but it searches all module names - if that's not enough, I'd suggest using Google or StackOverflow to search for "Python PDF module" or similar

dbr
+1  A: 

To search PyPI (Python Package Index) package info locally, try pypi-grep. An example: pypi-grep 'pyqt' -->

# day  status  packagename  version  homepage  summary
2009-06-07  3  "pydee"  0.4.11  http://code.google.com/p/pydee/
    Pydee development environment and its PyQt4-based IDE tools: ...
2009-06-05  4  "Sandbox"  0.9.5  http://www.qtrac.eu/sandbox.html
    A PyQt4-based alternative to IDLE
...

pypi-grep is just a file with one long line per PyPI package, with the info you see above, plus a trivial bash script to egrep the file.
Why ? Grepping a local file is very fast and very simple, for old Unix guys and simple searches: "what's XYZ ?"

hg clone http://bitbucket.org/denisb/pypi-grep/ should download pypi-grep and pypi-grepfile-2009-06-08 or the like; move them to a directory in your PATH. (First easy_install hg if you don't have hg.)

Notes:

the pypi-grepfile has only one version per package, the newest; multiline summaries are folded to one long line (which I chop with pypi-grep | less -iS).

pypi-grep -h lists a few options

The data comes from http://pypi.python.org/pypi xmlrpc, but beware: some packages in list_packages have no package_releases or no releasedata, and a few releasedatas timeout (timeout_xmlrpclib); what you see is All you get.

Feedback is welcome.

Denis
Sorry I failed to mention that I am using windows... I will try to find similar solution for windows.
Umair Ahmed