Vedran wrote: > Hello! > > Is it possible to apply a decorator on a block of code, without defining > a function that decorator is applied to.
You can only decorate functions or classes. > I have to generate a lot of similar graphs. For that reason I use > plot_decorator to perform usual figure setup(outfile, legend, x_label, > y_label and so on), and pylab.plot commands to do the actual plotting. > > Current solution: > > @plot_decorator(fig_params1) > def plt(): > pylab.plot(..first graph data...) > pylab.plot(..second graph data..) > plt() > > Is it possible to apply decorator only to the body of plt (several > pylab.plot commands) without actually defining this function, because I > use it only once, right after the definition? I have a hunch that a contextmanager is a better match for your requirements, see http://docs.python.org/library/contextlib.html#contextlib.contextmanager Peter -- http://mail.python.org/mailman/listinfo/python-list