On May 4, 3:17 pm, Ben Collver <[EMAIL PROTECTED]> wrote: > Chris Mellon wrote: ... > > Code like this is working directly against Python philosophy. You > > probably got told this on #python, too. There's hardly any > > circumstance where you should need to validate the exact class of an > > object, and as long as they have the same interface theres no harm > > whatsoever in tempfile changing it's return value between Python > > versions. > > I am unqualified to comment on the Python philosophy, but I would like > for my function to do some basic error checking on its arguments. I > will read up on the Python philosophy.
The basic point here is that the code will do it's own error checking. If you pass in a string to your function, and it tries to call write("xxx") on it, then you will get an exception thrown: AttributeError: 'str' object has no attribute 'write If your goal is to provide feedback to a potential user that they are using the wrong arguments, then you can use something like the following (the "Easier to ask for forgiveness than for permission" idiom): >>> arg = "A String not a File" >>> try: ... arg.write("") ... except AttributeError: ... print "You need to pass in a file like object!" ... You need to pass in a file like object! -- http://mail.python.org/mailman/listinfo/python-list