Ich habe den Tipp bekommen, dass wenn man ein Python-Programm außerhalb der IDE startet, man detailliertere Fehlermeldungen bekommt.
Wenn ich diesen Code im Dosfenster teste:
Code: Alles auswählen
def menuoffnen():
dateiname = QFileDialog.getOpenFileName(self, 'Datei öffnen', '', 'Textdateien (*.txt)')
dateiname = os.path.abspath(dateiname[0])
programmeinstellungen.pfadgeoeffnetedatei = dateiname
dateininhalt = ''.join(open(dateiname, encoding="utf8").readlines())
self.texteditor.setPlainText(dateininhalt)
self.setWindowTitle(os.path.basename(dateiname) + " - Marlems PQTTexteditor")
self.statusBar().showMessage(programmeinstellungen.pfadgeoeffnetedatei)
Bekomme ich folgende Fehlermeldung:
QMainWindowLayout::addItem: Please use the public QMainWindow API instead
Traceback (most recent call last):
File "C:/Projekte/Python/PQT-Texteditor/PQTTexteditor.py", line 39, in menuoffnen
dateininhalt = ''.join(open(dateiname, encoding="utf8").readlines())
File "C:\ProgramData\Anaconda3\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 1: invalid start byte
Ohne encoding:
Code: Alles auswählen
def menuoffnen():
dateiname = QFileDialog.getOpenFileName(self, 'Datei öffnen', '', 'Textdateien (*.txt)')
dateiname = os.path.abspath(dateiname[0])
programmeinstellungen.pfadgeoeffnetedatei = dateiname
dateininhalt = ''.join(open(dateiname).readlines())
self.texteditor.setPlainText(dateininhalt)
self.setWindowTitle(os.path.basename(dateiname) + " - Marlems PQTTexteditor")
self.statusBar().showMessage(programmeinstellungen.pfadgeoeffnetedatei)
Bekomme ich keine Fehlermeldung.
Was soll ich tun?