Andyh hat geschrieben:schon klar, habe ich ja nicht gemacht, ich habe nur ein Beispiel gemacht das es so geht
Doch hast du, siehe Zeile 26/27, auch wenn es "nur" ein Beispiel ist.
Andyh hat geschrieben:ja gibt es aber für sowas einfaches nicht und was solls bringen?
Ich erstelle die Variable ja mit einem "/" am Ende und wenn der übergebene Name mit "/" anfängt dann baut er es ja eh nicht zusammen und dbus gibt es nicht unter WIN deswegen fällt "" auch weg
D-Bus gibt es unter Windows, allerdings bin ich da nicht fit, ob es fuer deinen `path1` etwas aendert, ich wollte damit ja eigentlich herausbekommen, ob das Sinn macht
Ich meinte aber primaer wieder Zeile 26/27, nicht das literal.
Deine Begruendung ist btw falsch, es sei denn du uebergibst `name` mit einem fuehrenden Slash.
Andyh hat geschrieben:ja "path2 = path1.replace("/", ".")", gut die Namen sind kacke, aber bis ich das geschrieben habe habe ich "path2 = ...." auch fertig und weil es fixe Pfäde sind die sich auch nicht mehr ändern macht das auch nichts
Selbst dann verletzt du das DRY-Prinzip, entsprechen sich die Pfade immer, solltest du - im eigenen Interesse - auch nur einen Ort haben, den du aendern musst. Wenn der Pfad im Uebrigen fix ist, kann es sein, dass du sowas noch oefters in Klassen schreibst? Wenn ja, solltest du dir ueberlegen ob du das nicht in eine `config.py` ablegst - wobei das auch jetzt schon Sinn machen wuerde. Das umginge auch besser dein Scope-Problem.
Andyh hat geschrieben:Soll jetzt nicht als Beleidigung oder Angriff rüberkommen, ich wollte nur zeigen das ich in den 1 1/2 jahre python auch was gelernt.
Keine Sorge, so sehe ich das ganz und gar nicht. Es geht hier schliesslich um den Code, nicht um mein Ego
Andyh hat geschrieben:Komme nicht darauf wie das mit scope gehen soll.
Ich importiere die Klasse und schon beim importieren wird der NameError geworfen.
Richtig, weil an dem Punkt die Klasse evaluiert wird und es kein `self` gibt. Nach dem `self` wird in der Klasse - nicht in Methoden - und in den aeusseren Scopes gesucht. Ein - imho ein dreckiger Hack - Weg waere es einen neuen Dekorator zu schreiben, das sich die Argumente der dekorierten Methode anschaut und mit dem ersten den D-Bus-Dekorator fuettert. Aber bitte nicht.
@DasIch: Das ist dann aber `path2` nicht `path1` oder sehe ich das falsch?