Reads files

    :param filename:
        The full path of the file to read
    :returns:
        The content of the file as string (if `filename` exists)


    .. note:: If `filename`'s content is empty, ``None`` will also returned.

        To check if a file really exists
        use :func:`util.locations.search_location`

def read_file(filename):
    '''
    Reads files

    :param filename:
        The full path of the file to read
    :returns:
        The content of the file as string (if `filename` exists)


    .. note:: If `filename`'s content is empty, ``None`` will also returned.

        To check if a file really exists
        use :func:`util.locations.search_location`
    '''

    if filename and _path.exists(filename):
        with open(filename, 'r') as f:
            return f.read()