Arbeiten mit Bildern

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Sirius3
User
Beiträge: 17753
Registriert: Sonntag 21. Oktober 2012, 17:20

@jerch: os.path.dirname arbeitet genausogut mit relativen Pfaden, also auch leeren Pfadangaben. Das abspath ist also eigentlich überflüssig, wenn nicht irgendwo doch chdir benutzt wird.
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@jerch: Danke für die Ausführung:

Code: Alles auswählen

BASE_PATH = os.path.dirname(os.path.abspath(__file__))
IMAGE_PATH = os.path.join(BASE_PATH, 'files', 'images')
print "Sirius3s Version ", IMAGE_PATH
Ausgabe:
Sirius3s Version D:\Dan\Python\Übung\files\images

Code: Alles auswählen

IMAGE_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), 'files', 'images', 'img_24x24', 'Search.png'))
print "Sophus' Version:", IMAGE_PATH 
Ausgabe:
Sophus' Version: D:\Dan\Python\Übung\files\images\img_24x24\Search.png
Also bei der Ausgabe konnte ich sowohl bei Siruis3 als auch bei mir keinen Unterschied feststellen. Es "scheint" beides ähnlich zu wirken - mal abgesehen davon, dass Sirius3s Pfad anders konstruiert ist. Ab welchem konkreten Fall würde meine Version nicht funktionieren? Ich habe mir zwar deine Ausführung durchgelesen, jedoch konnte ich beim Anblick beider Print-Anweisungen keine schlüssige Schlussfolgerungen ziehen.

Und eine weitere Frage, was ist, wenn Pfadangaben Werte außerhalb von ASCII-Werten enthält? Erledigt abspath das für mich oder sollte ich den Pfad lieber in unicode() umwandeln?
Sirius3
User
Beiträge: 17753
Registriert: Sonntag 21. Oktober 2012, 17:20

@Sophus: Du bekommst mit Deiner Variante auch keine Probleme, nur Du hast viel Arbeit, wenn Du Deine Pfade mal anpassen willst. Und das mit dem Unicode hatten wir doch schon im anderen Thread.
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@Sirius3:

Pfade anpassen? Meinst du etwa, wenn neue Ordner hinzukommen, vorhandene Ordner umbenannt werden? Ich verstehe nicht, worin viel Arbeit bestünde? Konkretes Beispiel-Szenario?
Antworten