On Fri, 04 May 2007 07:55:25 -0700, Alex Martelli wrote: >> What about the case where I have an array of objects that represent some >> particular binary file format. If the object is a file, then I want to >> copy its contents. If the object is a string, then I want to write the >> string. And so forth. > > "Type-switching" in this way is a rather dubious practice in any > language (it can't respect the "open-closed" principle).
What do people think about functions that accept either a file name or a file object? def handle_file(obj): if type(obj) == str: need_to_close = True obj = file(obj, 'r') else: need_to_close = False do_something_with(obj.read()) if need_to_close: data.close() Good idea? Bad idea? Just a matter of personal preference? -- Steven. -- http://mail.python.org/mailman/listinfo/python-list