Re: module docstring, documentation,anything? please note is the module type/object NOT some module

M

Maric Michaud

Le Samedi 24 Juin 2006 04:41, Jorge Vargas a écrit :

In [16]: from types import ModuleType

In [17]: print ModuleType.__doc__
module(name[, doc])

Create a module object.
The name must be a string; the optional doc argument can have any type.

In [18]: ModuleType is type(sys)
Out[18]: True

Like for any other object, use the __dict__ attribute :

In [19]: sys.__dict__.items()[:3]
Out[19]:
[('setrecursionlimit', <built-in function setrecursionlimit>),
('getfilesystemencoding', <built-in function getfilesystemencoding>),
('stdout', <open file '<stdout>', mode 'w' at 0xa7ddc068>)]


Also, you''ll need these :

In [59]: from types import ClassType

In [60]: import subprocess

In [61]: subprocess.__dict__['Popen']
Out[61]: <class 'subprocess.Popen'>

In [62]: isinstance(subprocess.__dict__['Popen'], type)
Out[62]: True

In [63]: isinstance(subprocess.__dict__['Popen'], ClassType)
Out[63]: False

In [64]: ClassType # old-style class
Out[64]: <type 'classobj'>



putting all togetther :


In [75]: def find_classes(mod) :
....: for k, v in mod.__dict__.iteritems() :
....: if isinstance(v, type) : print 'new style class : ', k
....: elif isinstance(v, ClassType) : print 'old style class : ', k
....:
....:

In [76]: find_classes(subprocess)
new style class : Popen

In [77]: find_classes(sys)

In [78]: find_classes(os)
old style class : _Environ
new style class : stat_result
old style class : error
new style class : statvfs_result

I found an ugly hack to the docs help(type(sys))

This is not ugly, people used to do "type('')" rather than "import types;
types.StringType", in prior versions of python (2.1).


--
_____________

Maric Michaud
_____________

Aristote - www.aristote.info
3 place des tapis
69004 Lyon
Tel: +33 426 880 097
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,734
Messages
2,569,441
Members
44,832
Latest member
GlennSmall

Latest Threads

Top