Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Cool. I didn't know that you could get a representation of a function's code through func_name.func_code. That's pretty slick!


Yeap. I find it great for prototyping: I code in the IPython shell, and then I dump the code of the various functions I wrote to a file, using func_code.

    def makedumper(filen):
        def dumpfunc(func):
            with open(filen, 'a') as f:
                file.write("\n\n{}".format(func.func_code))
        return dumpfunc

     #then to use it:  
     dump = makedumper("sourcefile")
     dump(func1)
     dump(func2)


I learned that from Robert Kern's http://packages.python.org/line_profiler/


You can not only get it, you can manipulate it at runtime as you wish. I may recommend checking out the python bytecode format, its pretty straightforward. See the module 'dis' for more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: