On 25 March 2011 18:26, Rance Hall <ran...@gmail.com> wrote: > config_version = config.get('versions','configver',0) > > This line fails under 3.2 Linux with the error message: > > TypeError: get() takes exactly 3 positional arguments (4 given) > > What could the 4th argument be? I only see three. > > This same code worked on python 3.1 under windows. > > What am I missing? >
OK, off the top of my head and not having checked anything, here's me thinking out loud: Recall that all methods get one extra parameter, namely the instance reference of the object that the method applies to/is being called on. Regardless, the message is telling you that you're passing one more parameter than expected. This makes me think that the version of config module that you're using is older than the one you used on Windows, and that perhaps this older version had one less parameter, which is why it's complaining about too many parameters. As I say, that's just educated guesswork/inference, I've not checked whether the above hypothesis holds water under examination... Best wishes, Walter 2) Consequently always adjust error messages, taking into account that the real number of paramers passed to a method is always one more than the "real" parameters. 3) Given that you're explicitly passing 3 parameters in the code, this means that in reality 4 is passed, your 3 + the instance reference. 4) Since the error is that only 3 is expected (e.g. 2 + instance) this implies that you're
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor