Advertisement
CMHammond

Python Introspection (WIP)

Oct 8th, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. import __builtin__
  2. from sys import getsizeof
  3.  
  4. def analyser():
  5.     seperator = "_" * 59
  6.     print seperator
  7.    
  8.     i = raw_input("\nWhat would you like to analyse?: ")
  9.     print seperator
  10.     try: eval(i)
  11.     except NameError:
  12.         print "\n[NameError: '%s' is not defined.]" % i
  13.         return
  14.        
  15.     print "\nData type: ", type(eval(i))
  16.     try: print "ID/Hash: ", id(eval(i)), "/", hash(eval(i))
  17.     # In case of unhashable objects.
  18.     except TypeError: print None
  19.     print "Size: %dB/%dB" % (object.__sizeof__(i), getsizeof(i))
  20.     print "Callable?: ", callable(eval(i))
  21.     print "\nDirectory:\n\n", dir(eval(i))
  22.     print "\n", seperator
  23.     yes = ["yes", "y", "sure", "affirmative"]
  24.     if raw_input("\nWould you like more information?: ").lower() in yes:
  25.         print seperator, "\n"
  26.         help(i)
  27.    
  28. analyser()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement