Peter Hansen wrote: > Do you mean this instead? > > elif name in expected_form1_kwargs and name not in kwargs: > > What you wrote doesn't do what you think it does... it actually tests > for whether True or False is a key in kwargs, depending on whether "name > in expected_form1_kwargs" returns True or False.
Hi Peter, you're right... the code needed also other fixes and I didn't find a way to do it other than this: def foo(**kwargs): expected_form1_kwargs = ["arg1", "arg2"] for name in expected_form1_kwargs: if name not in kwargs: kwargs[name]=None for name in kwargs: if name in kwargs and name not in expected_form1_kwargs: raise ValueError, "Unrecognized keyword: " + name print kwargs if __name__ == "__main__": foo(arg1=8) Lorenzo -- http://mail.python.org/mailman/listinfo/python-list