Функция Python, которая принимает объект файла или путь

Я хочу написать функцию, которая принимает путь как строку или объект файла. Пока У меня есть:

def awesome_parse(path_or_file):
    if isinstance(path_or_file, basestring):
        f = open(path_or_file, 'rb')
    else:
        f = path_or_file
    with f as f:
        return do_stuff(f)

где do_stuff принимает открытый файловый объект.

Есть ли лучший способ сделать это? Имеет ли с f как f: какие-либо последствия?

] Спасибо!

13
задан TorelTwiddler 21 July 2011 в 22:25
поделиться