Guyon> The solution I came up with to tackle this is with some funny
    Guyon> globals, which doesnt feel 'right':

    ...

    Guyon> Is there any other way to do this?

You've almost got it right.  Just lose the "global":

    def test(data, pre, post):
        p = re.compile("([0-9])")

        def repl(m):
            return pre + m.group(1) + post

        print p.sub(repl, data)

For a full explanation, google for "python nested scopes".

Skip
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to