python2.7运行报错,问题出在哪里?

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 文件,,,

阅读 5.3k
3 个回答

是否目录下有程序正则使用导致打包失败?
直接执行cmd命令确定命令是否有效。

在os.system之前,print zip_command,看看这个命令是否正确。如果看起来没问题,就执行一下,看看有没问题、返回值是否正确。

估计是这句的问题(单引号与双引号)
zip_command = "zip -qr \"%s\" \"%s\"" % (target, ' '.join(source))
改成这样
zip_command = "zip -qr %s %s" % (target, ' '.join(source))
试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题