Actually this is all it takes: import keywords print keywords.kwlist --jac
On Sat, Apr 9, 2011 at 8:57 PM, Chris Angelico <ros...@gmail.com> wrote: > On Sun, Apr 10, 2011 at 11:28 AM, candide <candide@free.invalid> wrote: >> Python is very good at introspection, so I was wondering if Python (2.7) >> provides any feature to retrieve the list of its keywords (and, as, assert, >> break, ...). > > I don't know about any other way, but here's a really REALLY stupid > method. For every possible alphabetic string, attempt to eval() it; if > you get NameError or no error at all, then it's not a keyword. > SyntaxError means it's a keyword. > >>>> eval("foo") > > Traceback (most recent call last): > File "<pyshell#3>", line 1, in <module> > eval("foo") > File "<string>", line 1, in <module> > NameError: name 'foo' is not defined >>>> eval("lambda") > > Traceback (most recent call last): > File "<pyshell#7>", line 1, in <module> > eval("lambda") > File "<string>", line 1 > lambda > ^ > SyntaxError: unexpected EOF while parsing >>>> eval("eval") > <built-in function eval> > > Yes, it's stupid. But I'm feeling rather mischievous today. :) > > Chris Angelico > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list