def is_filelike ( ob ) : if hasattr ( ob , 'read' ) and callable ( ob . read ) : return True if hasattr ( ob , 'write' ) and callable ( ob . write ) : return True return False
python typing filelike object
Check for filelikeness of an object .
def is_filelike(ob):
    """Check for filelikeness of an object.

    Needed to distinguish it from file names.
    Returns true if it has a read or a write method.
    """
    if hasattr(ob, 'read') and callable(ob.read):
        return True

    if hasattr(ob, 'write') and callable(ob.write):
        return True

    return False