scoping assertion
Andrew Dalke
dalke at bioreason.com
Wed Jul 7 17:36:56 EDT 1999
More information about the Python-list mailing list
Wed Jul 7 17:36:56 EDT 1999
- Previous message (by thread): scoping assertion
- Next message (by thread): scoping assertion
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Michael McCandless <mail at mikemccandless.com> said: > But because there are no macros in Python, and because you can't > make this a function (?), I think you'd need to type this out every > time. Try this: import sys def nonexist(name): try: 1/0 except ZeroDivisionError: assert not sys.exc_info()[2].tb_frame.f_back.f_locals.has_key(name),\ "variable %s already exists" % `name` def test(): nonexist("x") print "x does not exist" x = 1 print "What about now?" nonexist("x") print "x does not exist" >>> test() x does not exist What about now? Traceback (innermost last): File "<stdin>", line 1, in ? File "<stdin>", line 6, in test File "<stdin>", line 5, in nonexist AssertionError: variable 'x' already exists There is a lot of tricky things you can do by peering at the stack. Andrew Dalke dalke at acm.org
- Previous message (by thread): scoping assertion
- Next message (by thread): scoping assertion
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list