lunar hat geschrieben:@ulrich1992: Nun, ZIP-Programme gibt es wie Sand am Meer, insofern sehe ich den Sinn in Deinem nicht so wirklich.
Was wäre denn ein sinnvolles Softwareprojekt? Es gab doch alles in der Geschichte des Computers schon einmal.
lunar hat geschrieben:
So wirklich „DAU-kompatibel“ ist es auch nicht, dem Nutzer ein ZIP_DEFLATED vorzusetzen…
Welche Auswahl wäre denn an dieser Stelle DAU-Kompatibel?
Die Standardkompressionsmethode für Zip heißt nun mal Deflating.
Bei 7-ZIP kann man auch nur zwischen Deflate, Deflate 64, BZip2, LZMA und PPMd wählen. Was dem Nutzer der das ZIP-Format nicht kennt auch nicht mehr als ZIP_DEFLATED sagt.
Wenn man sich nicht vorher über Kompressionsalgorhythmen informieren möchte, nimmt man halt die Voreinstellung. Ist ja bei anderer Software auch nicht anders.
lunar hat geschrieben:
Zum Quelltext: "unicode()" direkt auf Dateinamen anzuwenden, funktioniert nicht für Dateinamen außerhalb des ASCII-Bereichs.
Wenn ich den Dateinamen nicht vorher in einen Unicode-String konvertiere, wirft er mir sobald ich den Dateinamen in der GUI ausgeben möchte einen UnicodeError.
Dateinamen mit Umlauten machen zumindest auf meinem System keine Probleme.
lunar hat geschrieben:
Für temporäre Dateien gibt es das "tmpfile"-Modul, welches Du in diesem Fall verwenden solltest. Nutzer werden es Dir danken, wenn beim möglichen Absturz Deines Programms kein merkwürdiges "tmp"-Verzeichnis im Heimatverzeichnis zurückbleibt. Zudem kannst Du Dir das Löschen am Ende sparen, das erledigt dann das Betriebssystem.
Ich möchte aber keine temporäre Dateien mit irgendwelchen zufällig generierten Buchstabenkombinationen als Name. Die temporären Dateien sollten Ihren ursprünglichen Namen behalten.
Sonst würde Windows auch meckern, weil die Datei keine Endung hat.
lunar hat geschrieben:
Globale Konstanten wie etwa "wildcard_for_documents" sollten nach PEP 8 durchgehend groß geschrieben werden, damit sie auch als Konstanten zu erkennen sind.
Beim schreiben des Namens habe ich gar nicht daran gedacht, dass das eine Konstante sein soll. Für mich ist das eine ganz normale Variable.
Soweit ich weiß gibt es in Python auch gar keine Konstante wie beispielsweise in Java.
lunar hat geschrieben:
"number_format()" ist überflüssig und kann durch "locale.format" aus der Standardbibliothek ersetzt werden.
Die Funktion kannte ich nicht.
lunar hat geschrieben:
Globale Variablen wie in "createnewFile" (merkwürdige Groß/Kleinschreibung, btw) sind ein No-Go. Nutze Klassen und Klassenattribute.
Klassen sind bei so einem kleinen Projekt Schwachsinn.
Ich wüsste gar nicht wie ich die nennen soll.
Eine Klasse "gui" und eine Klasse "zip_functions" oder wie?
Und dann auch noch für alles mögliche getter und setter Methoden bauen.
Das dauert viel zu lange.
Da hab ich mit prozeduraler Programmierung wesentlich schneller vorzeigbare Ergebnisse.
lunar hat geschrieben:
Die Datumsformatierung in "ListFiles()" ist viel zu kompliziert, nutze die Möglichkeiten des "datetime"-Moduls aus der Standardbibliothek.
Das wollte ich erst benutzen, aber das erwartet als Format eine Liste mit 9 Elementen .
stat.st_mtime gibt aber eine Liste mit 6 Elementen zurück.
Ich habe zumindest keine eingebaute Funktion gefunden um das zu konvertieren.