Scott David Daniels wrote: > Althought object is a horrible name for your own value (there is a builtin > object which you use for defining new-style classes), you probably want:
Good point, I agree. It's a bad habit to start, sooner or later it would cause a problem. I'll find something else to call it. > if isinstance(object, (str,int,bool,tuple,list,dict)): > ... > or (as John Machin was trying to suggest): > > if isinstance(object, TYPES_WHICH_whatever): > ... > > This allows you to use instances of those builtin types and any > user-defined subtypes. > > >>Thanks, I don't need the isinstance(), type works here just as well. > > > But the isinstance version is better than the type(...) in ... version. Ok, done. I didn't think to look it up in the quick reference this prints out. LOL, Thanks Scott :-) I'm not sure if isinstance() would make a difference, it doesn't for __builtins__, but it might in some other modules. > --Scott David Daniels > [EMAIL PROTECTED] Do you have any feature suggestions, additional information that could go in, something that would extend the content in some way and make it more useful? As it stands now, it could be just a module, so you could... Regards, _Ron The current version is now.... # qref.py """ Generate a quick reference for a module by analyzing a modules contents. Use example: import qref import sys print qref.quickref("sys") """ def getobjs(obj, dlist=[], lvl=0, maxlevel=1): """ Retreive a list of sub objects from an object. """ if obj not in dlist: dlist.append(obj) if lvl<maxlevel: dobj = dir(eval(obj)) for item in dobj: try: dlist = getobjs(obj+'.'+item, dlist, lvl+1) except: pass return dlist def printdoc(objectlist): """ Return a sorted printable quick reference guide from a list of objects. """ outtext = [] objectlist.sort(lambda x, y: cmp(x.lower(), y.lower())) for obj in objectlist: objt = eval(obj) objt_type = type(objt) outtext.append('-'*40+'\n') outtext.append(str(obj)+'\n') if hasattr(objt, '__module__'): outtext.append("Module:"+str(objt.__module__)+'\n') if hasattr( objt,'__class__'): outtext.append("Class:"+str(objt.__class__)+'\n\n') else: outtext.append("Type:"+str(objt_type)+'\n\n') if isinstance(objt,str): if len(objt)>200: s = objt[0:200]+"......" else: s = objt outtext.append(obj+'=') if '\n' in s: quotes='"""' else: quotes ='"' if len(s)>60: print outtext.append(quotes+s+quotes+'\n\n') elif isinstance(objt,(int,bool,tuple,list,dict)): s = str(objt) if len(s)<200: outtext.append(obj+'='+s+'\n\n') else: outtext.append(obj+'='+s[0:200]+'......\n\n') if hasattr(objt,'__doc__'): if objt.__doc__ != type(objt).__doc__: outtext.append(str(objt.__doc__)+'\n\n') outtext.append('-'*40+'\n') return ''.join(outtext) def quickref(name): """ quickref(module_name) -> printable string Generate a sorted quick reference guide from an objects doc strings. The module_name is a string with the name of the module or class to get documents string from. Example: import os print quickref('os') """ objlist = getobjs(name) return printdoc(objlist) if __name__ == "__main__": print quickref('__builtins__') -- http://mail.python.org/mailman/listinfo/python-list