Var87
Var87

Reputation: 569

Reading python documentation in the terminal?

Is there a way to install the python documentation that would make it available as if it was a manpage? (I know you can download the sourcefiles for the documentation and read them in vim, using less or whatever but I was thinking about something a bit less manual. Don't want to roll my own.)

Upvotes: 18

Views: 28730

Answers (7)

Hepran Putra
Hepran Putra

Reputation: 21

I will answer since I don't satisfied with the accepted answer. Probably because I don't use IDLE.

Note that, I use Ubuntu (terminal). Probably in other OSs, it works the same.

Is there a way to install that? No need. I found that it comes by default. How to access that? Use help() command in python' shell.

  1. In the shell, type command help().
  2. Now that you're in the help utility, enter anything that you want to read its documentation. Press q to quit the documentation and type quit to quit the help utility.

Upvotes: 2

Mr. Suryaa Jha
Mr. Suryaa Jha

Reputation: 1582

You can use the BIF help()

In terminal go to Python REPL like

python

Now type help()

Now for example if you wish to get help for a class say IPv4Network which is in ipaddress package then you just have to specify the fully qualified path for IPv4Network i.e ipaddress.IPv4Network

EXAMPLE:

$ python3
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help()
Welcome to Python 3.6's help utility!
help> ipaddress.IPv4Network
Help on class IPv4Network in ipaddress:

ipaddress.IPv4Network = class IPv4Network(_BaseV4, _BaseNetwork)
 |  This class represents and manipulates 32-bit IPv4 network + addresses..
 |  
 |  Attributes: [examples for IPv4Network('192.0.2.0/27')]
 |      .network_address: IPv4Address('192.0.2.0')
 |      .hostmask: IPv4Address('0.0.0.31')
 |      .broadcast_address: IPv4Address('192.0.2.32')
 |      .netmask: IPv4Address('255.255.255.224')
 |      .prefixlen: 27
 |  
 |  Method resolution order:
 |      IPv4Network
 |      _BaseV4
 |      _BaseNetwork
 |      _IPAddressBase
 |      builtins.object
 |  
 |  Methods defined here:
 |  
 |  __init__(self, address, strict=True)
 |      Instantiate a new IPv4 network object.
 |      
 |      Args:
 |          address: A string or integer representing the IP [& network].
 |            '192.0.2.0/24'
 |            '192.0.2.0/255.255.255.0'
 |            '192.0.0.2/0.0.0.255'
 |            are all functionally the same in IPv4. Similarly,
 |            '192.0.2.1'

and so on

Upvotes: 3

void
void

Reputation: 2642

You can use help(Class-name/method-name/anything). But also using __doc__

A special __doc__ docstring is attached to every class and method. For example look what i typed into my interpreter.

>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
>>> print(int.__doc__)
int(x=0) -> integer
int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments
are given.  If x is a number, return x.__int__().  For floating point
numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string,
bytes, or bytearray instance representing an integer literal in the
given base.  The literal can be preceded by '+' or '-' and be surrounded
by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
Base 0 means to interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4

It even works for modules.

>>> import math
>>> math.__doc__
'This module is always available.  It provides access to the\nmathematical functions defined by the C standard.'
>>> math.ceil.__doc__
'ceil(x)\n\nReturn the ceiling of x as an Integral.\nThis is the smallest integer >= x.'
>>> 

Since every class has a __doc__ which is a docstring attached to it you can call it using the class_name.__doc__

>>> print(ord.__doc__)
Return the Unicode code point for a one-character string.

Upvotes: 5

Aran-Fey
Aran-Fey

Reputation: 43176

It's not an exact copy of the documentation, but there's the builtin help() function.

In an interactive python session, you just call help(whatever_you_want_to_read_about), for example:

>>> help(all)
Help on built-in function all in module builtins:

all(...)
    all(iterable) -> bool

    Return True if bool(x) is True for all values x in the iterable.
    If the iterable is empty, return True.

Alternatively, you can start an interactive help session like this:

C:\Users\Rawing>python -c "help()"

Welcome to Python 3.4!  This is the interactive help utility.

help>

And then just type the function/class/module you want to know about:

help> all
Help on built-in function all in module builtins:

all(...)
    all(iterable) -> bool

    Return True if bool(x) is True for all values x in the iterable.
    If the iterable is empty, return True.

Upvotes: 21

Błotosmętek
Błotosmętek

Reputation: 12927

On Debian (and derived distributions, like Ubuntu) install pydoc package. Then you can use pydoc whatever command.

Upvotes: 12

Lysandros Nikolaou
Lysandros Nikolaou

Reputation: 338

I don't know if that's exactly what you are looking for, but the python interactive console offers a help command. You can use it in the following manner.

>>> help()

Welcome to Python 3.6's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/3.6/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

help> list

This will output the whole documentation for all of the list methods.

Upvotes: 5

GiodoAldeima
GiodoAldeima

Reputation: 153

I don't if this is what you wanted but you everything you can do in IDLE you can do on the command line. Example:

C:>python
>>help(print())
>>help(plt.plot())

This way you can access documentation

Upvotes: 9

Related Questions