cross-platform mit wxPython Phoenix Python3

Plattformunabhängige GUIs mit wxWidgets.
Antworten
morten
User
Beiträge: 4
Registriert: Sonntag 15. Februar 2015, 14:18

Freitag 8. Januar 2016, 18:24

Hallo zusammen,

ich erstelle einen Editor der eine Textzeile am Ende auf Zeichen prüfen soll.

Code: Alles auswählen

def set_cursor(self, textLine):
    if textLine.endswith(':\n'):
        # code ...
auf meinem Linux Rechner funktioniert das auch und das gewünschte Verhalten wird ausgeführt.
Ich wage mich zu erinnern, dass unter Windows bzw. MacOS das Zeilenende abweicht.
Windows CR LF und MacOS CR oder LF oder beides ....

Kann ich davon ausgehen, dass oben genannter Code auf den anderen Platformen nicht funktioniert ? Muss ich für jede Platform eine individuelle Funktion schreiben ?

Code: Alles auswählen

import platform

system_ = platform.system().lower()

if system_ == "darwin":
	#....
elif system == "linux":
	#...
elif system_ == "windows":
	#...

Wie könnte die aussehen ?
Es wird hier auf zwei Zeichen am Ende der Zeile geprüft..... -> ':' + '\n'

Danke im Voraus :D :D
BlackJack

Freitag 8. Januar 2016, 18:44

@morten: Das Zeilenende kann in Dateien abweichen. Im Programm sollte es immer '\n' sein wenn man beim Einlesen und Schreiben der Dateien alles richtig gemacht hat.
morten
User
Beiträge: 4
Registriert: Sonntag 15. Februar 2015, 14:18

Freitag 8. Januar 2016, 19:17

Super :D

und Danke für die schnelle Antwort;. .... das erspart mir einiges :)

Grüße
Antworten