Llamando a una función de clase dentro de __init__

Estoy escribiendo un código que toma un nombre de archivo, abre el archivo y analiza algunos datos. Me gustaría hacer esto en una clase. El siguiente código funciona:

class MyClass():
    def __init__(self, filename):
        self.filename = filename 

        self.stat1 = None
        self.stat2 = None
        self.stat3 = None
        self.stat4 = None
        self.stat5 = None

        def parse_file():
            #do some parsing
            self.stat1 = result_from_parse1
            self.stat2 = result_from_parse2
            self.stat3 = result_from_parse3
            self.stat4 = result_from_parse4
            self.stat5 = result_from_parse5

        parse_file()

Pero me implica poner toda la maquinaria de análisis en el ámbito de la__init__ Función para mi clase. Eso se ve bien ahora para este código simplificado, pero la funciónparse_file También tiene bastantes niveles de sangría. Prefiero definir la funciónparse_file() como una función de clase como abajo:

class MyClass():
    def __init__(self, filename):
        self.filename = filename 

        self.stat1 = None
        self.stat2 = None
        self.stat3 = None
        self.stat4 = None
        self.stat5 = None
        parse_file()

    def parse_file():
        #do some parsing
        self.stat1 = result_from_parse1
        self.stat2 = result_from_parse2
        self.stat3 = result_from_parse3
        self.stat4 = result_from_parse4
        self.stat5 = result_from_parse5

Por supuesto, este código no funciona porque la funciónparse_file() no está dentro del alcance de la__init__ función. ¿Hay una manera de llamar a una función de clase desde dentro__init__ de esa clase? ¿O estoy pensando en esto de manera equivocada?

Respuestas a la pregunta(6)

Su respuesta a la pregunta