Check if the object is a file-like object.
For objects to be considered file-like, they must
be an iterator AND have either a read and/or write
method as an attribute.
Note: file-like objects must be iterable, but
iterable objects need not be file-like.
Whether obj has file-like properties.
>>> import io
>>> buffer = io.StringIO("data")
>>> is_file_like([1, 2, 3])