How can you find python module source code in your system ? Sometime, it take waste time to find python module to import them when you code. There are some useful command that you can use to find them.

1. Locate command :
 locate [module name]

2. The sys.path list contains the list of directories which will be searched for modules at runtime. In python interactive command :
>>> import sys
>>> sys.path
3. using dir() in interactive command :
>>> dir(sys)
['__displayhook__', '__doc__', '__egginsert', '__excepthook__', '__name__', '__package__', '__plen', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'last_traceback', 'last_type', 'last_value', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
When the dir function is called with the name of an imported module passed in
parentheses like that, it returns all the attributes inside that module. Some of the
names it returns are names you get “for free”: names with leading and trailing dou- ble underscores are built-in names that are always predefined by Python, and that have special meaning to the interpreter. The variables our code defined by assign-ment—a, b, and c—show up last in the dir result.