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

Reply via email to