def path_status(path, filename='<STR_LIT>', status=None, deep=False, verbosity=<NUM_LIT:0>):
status = {} if status is None else status<EOL>path = expand_path(path)<EOL>if filename:<EOL><INDENT>dir_path = path<EOL><DEDENT>else:<EOL><INDENT>dir_path, filename = os.path.split(path)  <EOL><DEDENT>full_path = os.path.join(dir_path, filename)<EOL>if verbosity > <NUM_LIT:1>:<EOL><INDENT>print('<STR_LIT>'.format(full_path))<EOL><DEDENT>status['<STR_LIT:name>'] = filename<EOL>status['<STR_LIT:path>'] = full_path<EOL>status['<STR_LIT>'] = dir_path<EOL>status['<STR_LIT:type>'] = []<EOL>try:<EOL><INDENT>status.update(get_stat(full_path))<EOL><DEDENT>except OSError:<EOL><INDENT>status['<STR_LIT:type>'] = ['<STR_LIT>'] + status['<STR_LIT:type>']<EOL>logger.info("<STR_LIT>".format(full_path))<EOL><DEDENT>status['<STR_LIT:type>'] = '<STR_LIT>'.join(status['<STR_LIT:type>'])<EOL>return status<EOL>
Retrieve the access, modify, and create timetags for a path along with its size

    Arguments:
        path (str): full path to the file or directory to be statused
        status (dict): optional existing status to be updated/overwritten with new status values
        try_open (bool): whether to try to open the file to get its encoding and openability

    Returns:
        dict: {'size': bytes (int), 'accessed': (datetime), 'modified': (datetime), 'changed_any': (datetime)}

    >>> stat = path_status(__file__)
    >>> stat['path'] == __file__
    True
    >>> 256000 > stat['size'] > 14373
    True
    >>> stat['type']
    'file'