r"""
    Creates file if it doesnt exist

    Args:
        fpath (str): file path
        times (None):
        verbose (bool):

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_path import *  # NOQA
        >>> fpath = '?'
        >>> times = None
        >>> verbose = True
        >>> result = touch(fpath, times, verbose)
        >>> print(result)

    References:
        http://stackoverflow.com/questions/1158076/implement-touch-using-python

def touch(fpath, times=None, verbose=True):
    r"""
    Creates file if it doesnt exist

    Args:
        fpath (str): file path
        times (None):
        verbose (bool):

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_path import *  # NOQA
        >>> fpath = '?'
        >>> times = None
        >>> verbose = True
        >>> result = touch(fpath, times, verbose)
        >>> print(result)

    References:
        http://stackoverflow.com/questions/1158076/implement-touch-using-python
    """
    try:
        if verbose:
            print('[util_path] touching %r' % fpath)
        with open(fpath, 'a'):
            os.utime(fpath, times)
    except Exception as ex:
        import utool
        utool.printex(ex, 'touch %s' % fpath)
        raise
    return fpath