import os
import time
source = ['C:\\Program Files']
target_dir = 'D:\\ok\\' # Remember to change this to what you will be using
# 3. The files are backed up into a zip file
# 4. The current day is the name of the subdirectory in the main directory
today=target_dir+time.strftime('%Y%m%d')
# The current time is the name of the zip archive
now=time.strftime('%H%M%S')
# Create the subdirectory if it isn't already there
if not os.path.exists(today):
os.mkdir(today) # make directory
print 'Successfully created directory',today
# The name of the zip file
target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip'
# 5. We use the zip command (in Unix/Linux) to put the files in a zip archive
zip_command = "zip -qr \"%s\" \"%s\"" % (target, ' '.join(source))
# Run the backup
if os.system(zip_command) == 0 :
print 'Successful backup to',target
else:
print 'Backup FAILED'
上面的代码在python2.7 IDEL 上运行后,输出为:
>>>
Successfully created directory D:\ok\20121120111807
Backup FAILED
而没有输出期望的 .zip 文件,,,
是否目录下有程序正则使用导致打包失败?
直接执行cmd命令确定命令是否有效。
在os.system之前,print zip_command,看看这个命令是否正确。如果看起来没问题,就执行一下,看看有没问题、返回值是否正确。
估计是这句的问题(单引号与双引号)
zip_command = "zip -qr \"%s\" \"%s\"" % (target, ‘ ‘.join(source))
改成这样
zip_command = "zip -qr %s %s" % (target, ‘ ‘.join(source))
试试