Dieter Raber: PYTHON zip system batch

Beitrag lesen

Hallo,

Sorry, eigentlich ist dies ein Crossposting, das auch in comp.lang.python stehen sollte, aber da scheint es nicht angekommen zu sein.

Ich versuche mich gerade in Python, mein Spielpatz ist eine Backupsoftware. Sie muss zunächst nur unter WinXP lauffähig sein, damit mir das Projekt nicht über den Kopf wächst. Im Prinzip soll das so funktionieren, dass eine Anzahl Dateien/Ordner gezippt werden, das Zipfile wird dann in die Backup-Ordner verschoben.

Was das Zippen anbetrifft, habe ich mich an http://www.devshed.com/c/a/Python/Python-UnZipped/ orientiert, die Zipfiles kann ich aber mit Winzip nicht mehr oeffnen. Alternativ gibt es die Ueberlegung, mit system() auf infozip, rar, arj oder makecab zuzugreifen. Dabei stellt sich aber folgendes Problem. Die ganze Application liegt z. Zt in einem Ordner auf dem Desktop. Wenn ich mein Script an der Kommandozeile ausführe, bekomme ich den Fehler, dass C:\Dokumente kein gültiger Befehl sei. Alle Pfade im system-call sind absolut und in Anführungszeichen. Wenn ich anstatt system('befehl') aber system('echo befehl') schreibe und das Ergebnis direkt an der Kommandozeile ausführe, geht das problemlos.

Ich habe natürlich gegoogelt und vor allem im ASPN Python Cookbook einiges gefunden, aber bisher sind meine Kenntnisse noch so, dass ich nicht mal die Hälfte des Gelesenen verstehe.

Ich bin im Moment auch verunsichert, welche Lösung ich anstreben soll, den Python-Zip-Weg oder den system()-Weg. An dem Python-Weg finde ich attraktiv, dass alles alles einem Guss wäre und letztlich auch keine cmd-Fenster aufpoppen. Am system()-Weg hingegen gefällt mir, dass ich den auch an anderen Stellen des Scripts, etwa für xcopy und solche Sachen nutzen könnte. Windows kommt ja mit Einigem an nützlichen Kommandozeilen-Tools, die mir zupass kämen.

Ach ja, noch eine Sache, die ich vor kurzem schonmal erfolglos gepostet habe. Das Backup würde ich am liebsten vor den Shutdown ausführen. Der Task Scheduler hat aber keine entsprechende Option. Ich bin mittlerweile auf shutdown.exe aus dem MS Resource-Kit und PowerOff gestoßen. Ich finde beide nicht ideal für mein Vorhaben, mir wäre es lieber, wenn man das Backup erzwingen könnte. Gibt es dazu irgendwelche Ideen?

Gruß,

Dieter