tkinter - Abrufen des Dateinamens während askopenfile

Ich habe einen Texteditor, der mit Python und tkinter erstellt wurde.

Dies ist meine Methode zum Öffnen von Dateien:

def onOpen(self):
        file = askopenfile(filetypes=[("Text files", "*.txt")])
        txt = file.read()
        self.text.delete("1.0", END)
        root.title(file)
        self.text.insert(1.0, txt)
        file.close()

Ich möchte den Fenstertitel gleich dem Dateinamen setzen. Im Moment verwende ich als Dateinamen die Rückgabe von askopenfile, aber dies gibt zum Beispiel Folgendes zurück:

<_ io.TextIOWrapper name = '/ Users / user / Desktop / file.txt' mode = 'r' encoding = 'UTF-8'>

Das ist natürlich nicht sehr schön. Ich möchte, was auch immer askopenfilename zurückgeben würde. Wenn ich jedoch askopenfile und askopenfilename aufrufe, muss der Benutzer das Dialogfeld "Datei öffnen" zweimal verwenden.

Gibt es eine Möglichkeit, den Dateinamen ohne den zweiten Dialog abzurufen?

Wenn nicht, hat jemand einen RegEx, um den Dateinamen herauszufiltern. Wenn Sie gut mit RegEx umgehen können, ist der schönste Dateiname natürlich "file.txt" und nicht "/Users/user/Desktop/file.txt". In jedem Fall ist es aber in Ordnung.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage