La conversión no funciona [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Python: la cadena no se convertirá en flotante [duplicado] 3 respuestas

Estoy creando una función de puntaje alto para mi juego, pero no puedo hacer que funcione

aquí está mi método para ello:

def game_over(self):
    # Game over Screen
    keys = pygame.key.get_pressed()
    self.gameover = pygame.image.load('resources/screen/game_over.png')
    screen.blit(self.gameover,(0,0))

    high_filer = open('highscores.txt', 'r')
    highscore = high_filer.read()
    high_filer.close()
    int(highscore)
    int(self.score)
    print highscore + self.score

    if self.score > highscore: 
        high_filew = open('highscores.txt', 'w')
        high_filew.write(str(self.score))
        high_filew.close()

    if (keys[K_RETURN]):
        self.state = 1

o que hace es leer la puntuación más reciente de un archivo .txt y verifica si la puntuación de los jugadores es más alta si es así, escribe la nueva puntuación más alta en el archivo

Convierto la cadena dehighscore en un int usandoint(highscore) entonces y en la línea 10 hagoprint highscore + self.score como prueba, pero arrojo un error que dice que no puedo agregar un str y un int aunque haya convertidohighscore a un int y convertí self.score así que por alguna razón una de las conversiones no funcionó