snipt

Ctrl+h for KB shortcuts

Python

apihelpr for python

#!/usr/bin/env python
# # -*- coding: UTF-8 -*-
"""Cheap and simple API helper

This program is part of "Dive Into Python", a free Python book for
experienced programmers.  Visit http://diveintopython.org/ for the
latest version.
"""

__author__ = "Mark Pilgrim ([email protected])"
__version__ = "$Revision: 1.3 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2001 Mark Pilgrim"
__license__ = "Python"

# While this is a good example script to teach about introspection,
# in real life it has been superceded by PyDoc, which is part of the
# standard library in Python 2.1 and later.
# 
# Your IDE may already import the "help" function from pydoc
# automatically on startup; if not, do this:
# 
# >>> from pydoc import help
# 
# The help function in this module takes the object itself to get
# help on, but PyDoc can also take a string, like this:
# 
# >>> help("string") # gets help on the string module
# >>> help("apihelper.help") # gets help on the function below
# >>> help() # enters an interactive help mode
# 
# PyDoc can also act as an HTTP server to dynamically produce
# HTML-formatted documentation of any module in your path.
# That's wicked cool.  Read more about PyDoc here:
#   http://www.onlamp.com/pub/a/python/2001/04/18/pydoc.html

def info(object, spacing=10, collapse=1):
    """Print methods and doc strings.

    Takes module, class, list, dictionary, or string."""
    methodList = [e for e in dir(object) if callable(getattr(object, e))]
    processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
    print "\n".join(["%s %s" %
                     (method.ljust(spacing),
                      processFunc(str(getattr(object, method).__doc__)))
                     for method in methodList])

if __name__ == "__main__":
    print help.__doc__
https://snipt.net/embed/f7f4150eff7b232b7a6cd132a4480349/
/raw/f7f4150eff7b232b7a6cd132a4480349/
f7f4150eff7b232b7a6cd132a4480349
python
Python
50
2019-06-25T11:56:39
True
False
False
/api/public/snipt/9311/
apihelpr-for-python
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a> <a href="#L-31">31</a> <a href="#L-32">32</a> <a href="#L-33">33</a> <a href="#L-34">34</a> <a href="#L-35">35</a> <a href="#L-36">36</a> <a href="#L-37">37</a> <a href="#L-38">38</a> <a href="#L-39">39</a> <a href="#L-40">40</a> <a href="#L-41">41</a> <a href="#L-42">42</a> <a href="#L-43">43</a> <a href="#L-44">44</a> <a href="#L-45">45</a> <a href="#L-46">46</a> <a href="#L-47">47</a> <a href="#L-48">48</a> <a href="#L-49">49</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="ch">#!/usr/bin/env python</span> </span><span id="L-2"><a name="L-2"></a><span class="c1"># # -*- coding: UTF-8 -*-</span> </span><span id="L-3"><a name="L-3"></a><span class="sd">&quot;&quot;&quot;Cheap and simple API helper</span> </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a><span class="sd">This program is part of &quot;Dive Into Python&quot;, a free Python book for</span> </span><span id="L-6"><a name="L-6"></a><span class="sd">experienced programmers. Visit http://diveintopython.org/ for the</span> </span><span id="L-7"><a name="L-7"></a><span class="sd">latest version.</span> </span><span id="L-8"><a name="L-8"></a><span class="sd">&quot;&quot;&quot;</span> </span><span id="L-9"><a name="L-9"></a> </span><span id="L-10"><a name="L-10"></a><span class="n">__author__</span> <span class="o">=</span> <span class="s2">&quot;Mark Pilgrim ([email protected])&quot;</span> </span><span id="L-11"><a name="L-11"></a><span class="n">__version__</span> <span class="o">=</span> <span class="s2">&quot;$Revision: 1.3 $&quot;</span> </span><span id="L-12"><a name="L-12"></a><span class="n">__date__</span> <span class="o">=</span> <span class="s2">&quot;$Date: 2004/05/05 21:57:19 $&quot;</span> </span><span id="L-13"><a name="L-13"></a><span class="n">__copyright__</span> <span class="o">=</span> <span class="s2">&quot;Copyright (c) 2001 Mark Pilgrim&quot;</span> </span><span id="L-14"><a name="L-14"></a><span class="n">__license__</span> <span class="o">=</span> <span class="s2">&quot;Python&quot;</span> </span><span id="L-15"><a name="L-15"></a> </span><span id="L-16"><a name="L-16"></a><span class="c1"># While this is a good example script to teach about introspection,</span> </span><span id="L-17"><a name="L-17"></a><span class="c1"># in real life it has been superceded by PyDoc, which is part of the</span> </span><span id="L-18"><a name="L-18"></a><span class="c1"># standard library in Python 2.1 and later.</span> </span><span id="L-19"><a name="L-19"></a><span class="c1"># </span> </span><span id="L-20"><a name="L-20"></a><span class="c1"># Your IDE may already import the &quot;help&quot; function from pydoc</span> </span><span id="L-21"><a name="L-21"></a><span class="c1"># automatically on startup; if not, do this:</span> </span><span id="L-22"><a name="L-22"></a><span class="c1"># </span> </span><span id="L-23"><a name="L-23"></a><span class="c1"># &gt;&gt;&gt; from pydoc import help</span> </span><span id="L-24"><a name="L-24"></a><span class="c1"># </span> </span><span id="L-25"><a name="L-25"></a><span class="c1"># The help function in this module takes the object itself to get</span> </span><span id="L-26"><a name="L-26"></a><span class="c1"># help on, but PyDoc can also take a string, like this:</span> </span><span id="L-27"><a name="L-27"></a><span class="c1"># </span> </span><span id="L-28"><a name="L-28"></a><span class="c1"># &gt;&gt;&gt; help(&quot;string&quot;) # gets help on the string module</span> </span><span id="L-29"><a name="L-29"></a><span class="c1"># &gt;&gt;&gt; help(&quot;apihelper.help&quot;) # gets help on the function below</span> </span><span id="L-30"><a name="L-30"></a><span class="c1"># &gt;&gt;&gt; help() # enters an interactive help mode</span> </span><span id="L-31"><a name="L-31"></a><span class="c1"># </span> </span><span id="L-32"><a name="L-32"></a><span class="c1"># PyDoc can also act as an HTTP server to dynamically produce</span> </span><span id="L-33"><a name="L-33"></a><span class="c1"># HTML-formatted documentation of any module in your path.</span> </span><span id="L-34"><a name="L-34"></a><span class="c1"># That&#39;s wicked cool. Read more about PyDoc here:</span> </span><span id="L-35"><a name="L-35"></a><span class="c1"># http://www.onlamp.com/pub/a/python/2001/04/18/pydoc.html</span> </span><span id="L-36"><a name="L-36"></a> </span><span id="L-37"><a name="L-37"></a><span class="k">def</span> <span class="nf">info</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">spacing</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">collapse</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span> </span><span id="L-38"><a name="L-38"></a> <span class="sd">&quot;&quot;&quot;Print methods and doc strings.</span> </span><span id="L-39"><a name="L-39"></a> </span><span id="L-40"><a name="L-40"></a><span class="sd"> Takes module, class, list, dictionary, or string.&quot;&quot;&quot;</span> </span><span id="L-41"><a name="L-41"></a> <span class="n">methodList</span> <span class="o">=</span> <span class="p">[</span><span class="n">e</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">dir</span><span class="p">(</span><span class="nb">object</span><span class="p">)</span> <span class="k">if</span> <span class="nb">callable</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">e</span><span class="p">))]</span> </span><span id="L-42"><a name="L-42"></a> <span class="n">processFunc</span> <span class="o">=</span> <span class="n">collapse</span> <span class="ow">and</span> <span class="p">(</span><span class="k">lambda</span> <span class="n">s</span><span class="p">:</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">s</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span> <span class="ow">or</span> <span class="p">(</span><span class="k">lambda</span> <span class="n">s</span><span class="p">:</span> <span class="n">s</span><span class="p">)</span> </span><span id="L-43"><a name="L-43"></a> <span class="k">print</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> </span><span id="L-44"><a name="L-44"></a> <span class="p">(</span><span class="n">method</span><span class="o">.</span><span class="n">ljust</span><span class="p">(</span><span class="n">spacing</span><span class="p">),</span> </span><span id="L-45"><a name="L-45"></a> <span class="n">processFunc</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">method</span><span class="p">)</span><span class="o">.</span><span class="n">__doc__</span><span class="p">)))</span> </span><span id="L-46"><a name="L-46"></a> <span class="k">for</span> <span class="n">method</span> <span class="ow">in</span> <span class="n">methodList</span><span class="p">])</span> </span><span id="L-47"><a name="L-47"></a> </span><span id="L-48"><a name="L-48"></a><span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span> </span><span id="L-49"><a name="L-49"></a> <span class="k">print</span> <span class="n">help</span><span class="o">.</span><span class="n">__doc__</span> </span></pre></div> </td></tr></table>
algoritmos, python