<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def file_path(fobj):
 """Determine the path of a file. This doesn't do any sanity checking to check that the file actually exists, or is readable. Parameters the file object or path to parse Returns ------- path : `str` the path of the underlying file Raises ------ ValueError if a file path cannnot be determined Examples -------- 'test.txt' 'test.txt' '/home/user/test.txt' """

    if isinstance(fobj, string_types) and fobj.startswith("file:"):
        return urlparse(fobj).path
    if isinstance(fobj, string_types):
        return fobj
    if (isinstance(fobj, FILE_LIKE) and hasattr(fobj, "name")):
        return fobj.name
    try:
        return fobj.path
    except AttributeError:
        raise ValueError("Cannot parse file name for {!r}".format(fobj))