<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def tz_path(name):
 """ Return the path to a timezone file. :param name: The name of the timezone. :type name: str :rtype: str """

    if not name:
        raise ValueError('Invalid timezone')

    name_parts = name.lstrip('/').split('/')

    for part in name_parts:
        if part == os.path.pardir or os.path.sep in part:
            raise ValueError('Bad path segment: %r' % part)

    filepath = os.path.join(_DIRECTORY, *name_parts)

    if not os.path.exists(filepath):
        raise TimezoneNotFound('Timezone {} not found at {}'.format(name, filepath))

    return filepath