str1442 hat geschrieben:Du schließt die Datei nicht, die du öffnest, sondern wirfst das Dateiobjekt einfach weg. if __name__ == "__main__" könntest du noch benutzen.
Ich bin mir ziemlich sicher das der garbage collector von Python kurz darauf das Handle schließt. Ganz abgesehen davon brauche ich es innerhalb des Programms gar nicht mehr.
str1442 hat geschrieben:Ich würde sowas nicht benutzen. Zum einen halte ich generell nicht viel davon, Komplettpakete mit allen notwendigen Abhängigkeiten zu verteilen, zum anderen gibt es genug "Homebrew" Lösungen für irgendwelche Installationsroutinen so das man sich als Anwender gar nicht mehr sicher sein kann, was da im Hintergrund alles passiert.
cryzed hat geschrieben:Klar ist das nicht der optimale Weg [...]
str1442 hat geschrieben:Und Daten einfach als Strings in einem Programm abzulegen konterkariert den Sinn der Datei.
Wieso?
str1442 hat geschrieben:Wenn du unbedingt sowas brauchst (und meine Vermutung richtig ist, daß dieser Mechanismus auf Windows Benutzer zielt), sieh dir py2exe an.
Du liegst falsch, das soll nachher unter anderem eine Technik sein um XChat Plugins cross-platform in einer einzigen Datei verteilen zu können.
Das mit der .decode() Funktion von String habe ich nicht gewusst, aber vieles was du geschrieben hast ist einfach nur Subjektiv -
Ich halte es nämlich für eine sehr gute Idee, Komplettpakete mit den nötigen Abhängikeiten zu verteilen, anstatt darauf zu bestehen und zu vertrauen das der User, ob jetzt Windows/Linux/Mac/etc., auf jeden Fall all die Pakete auch installiert hat und hoffentlich auch die richtigen Versionen.