def abspath(path):
    """Return the absolute path to a file and canonicalize it

    Path is returned without a trailing slash and without redundant slashes.
    Caches the user's home directory.

    :param path: A string for the path.  This should not have any wildcards.
    :returns: Absolute path to the file
    :raises IOError: If unsuccessful
    """
    global _USER_HOME_DIR
    # FIXME(brandyn): User's home directory must exist
    # FIXME(brandyn): Requires something to be in home dir
    if path[0] == '/':
        return os.path.abspath(path)
    if _USER_HOME_DIR is None:
        try:
            _USER_HOME_DIR = _get_home_dir()
        except IOError, e:
            if not exists('.'):
                raise IOError("Home directory doesn't exist")
            raise e
    return os.path.abspath(os.path.join(_USER_HOME_DIR, path))
def abspath ( path ) : global _USER_HOME_DIR if path [ 0 ] == '/' : return os . path . abspath ( path ) if _USER_HOME_DIR is None : try : _USER_HOME_DIR = _get_home_dir ( ) except IOError , e : if not exists ( '.' ) : raise IOError ( "Home directory doesn't exist" ) raise e return os . path . abspath ( os . path . join ( _USER_HOME_DIR , path ) )
Return the absolute path to a file and canonicalize it

    Path is returned without a trailing slash and without redundant slashes.
    Caches the user's home directory.

    :param path: A string for the path.  This should not have any wildcards.
    :returns: Absolute path to the file
    :raises IOError: If unsuccessful