2016-08-09 17 views
0

Ich hoffe, jemand kann mir helfen mit einem Problem, das ich mit meinem ersten Programm aus dem E-Buch "Ein Byte von Python".(Python Newbie) Folgende E-Book "Ein Byte von Python" - Problem mit dem ersten Programm

Das E-Book basiert auf Python 2.7.

Programm: Zip ein Quellverzeichnis und formatieren Sie es mit einem bestimmten "Name" und legen Sie es im Zielverzeichnis.

Die E-Books Code, um diese Aufgabe zu tun ist:

import os 
import time 

# source directory of files to backup 
source = ["/root/Documents/test"] 

# target location for files to be backed up to 
target_dir = "/root/Documents/Backup" 

target = target_dir + os.sep 

time.strftime("%Y%m%d%H%M") + ".zip" 

# if target path does not exist, create it 
if not os.path.exists(target_dir): 
    os.mkdir(target_dir) 

# Command to zip files 
zip_command = "zip -r {0}".format(target).join(source) 

#run the backup 
print "Zip command is:" 
print (zip_command) 
print "Running" 

# Check to see if backup was successful 

if os.system(zip_command) == 0: 
print "Successfull backup to", target 

else: 

print "Backup Failed" 

Der Fehler Ich erhalte ist:

Zip command is: 
/root/Documents/test 
Running 
Backup Failed 
sh: 1: /root/Documents/test: Permission denied 

Process finished with exit code 0 

Ich habe die Berechtigungen für die Ordner überprüft, versucht, den Code auszuführen als Super User etc .. aber ich habe kein Glück, ich bin extrem neu in Python und möchte nicht wirklich weiter mit diesem E-Buch, bis ich eine Lösung für dieses Problem gefunden habe, wie es wiederverwendet und verfeinert dies Code, wie ich weitermachen.

Ich habe das Gefühl, das Problem könnte mit dem zip_command zusammenhängen?

Jede Hilfe würde sehr geschätzt werden.

Antwort

1

Sie bauen den Befehl falsch auf!

zip_command = "zip -r {0}".format(target) + " " + " ".join(source) 
    # Result: zip -r /root/Documents/Backup <space> /root/Documents/test 
+0

Hey danke dafür, ich habe diesen Teil des Codes tatsächlich falsch eingegeben. Ich habe es genau so geändert, wie es im E-Book ist, ich habe mich ein bisschen damit beschäftigt. –

+0

Danke, das hat perfekt funktioniert, so einfach argh !! Danke für Ihre schnelle Antwort. –