"""Evaluate and substitute the appropriate parts of the string.""" try: 1/0 except: frame = sys.exc_traceback.tb_frame while frame.f_globals["__name__"] == __name__: frame = frame.f_back return dictformat(format,frame.f_locals, frame.f_globals) if __name__=='__main__': from reportlab.lib.formatters import DecimalFormatter _DF={} def df(n,dp=2,ds='.',ts=','): try: _df = _DF[dp,ds] except KeyError: _df = _DF[dp,ds] = DecimalFormatter(places=dp,decimalSep=ds,thousandSep=ts) return _df(n) from reportlab.lib.extformat import magicformat Z={'abc': ('ab','c')} x = 300000.23 percent=79.2 class dingo: a=3 print magicformat(''' $%%(df(x,dp=3))s --> $%(df(x,dp=3))s $%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s %%(percent).2f%%%% --> %(percent).2f%% %%(dingo.a)s --> %(dingo.a)s %%(Z['abc'][0])s --> %(Z['abc'][0])s ''')
def func1(bb=2): print(magicformat('bb=%(bb)s Z=%(Z)r'))
def func1(bb=2): print(magicformat("bb=%(bb)s Z=%(Z)r"))
return _df(n) from reportlab.lib.extformat import magicformat Z = {"abc": ("ab", "c")} x = 300000.23 percent = 79.2 class dingo: a = 3 print( magicformat( """ $%%(df(x,dp=3))s --> $%(df(x,dp=3))s $%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s %%(percent).2f%%%% --> %(percent).2f%% %%(dingo.a)s --> %(dingo.a)s %%(Z['abc'][0])s --> %(Z['abc'][0])s """ ) ) def func0(aa=1): def func1(bb=2): print(magicformat("bb=%(bb)s Z=%(Z)r")) func1("BB") func0("AA")