备份脚本,运行失败,os.system(zip_command) 返回 1

系统:windos
IDLE :spyder
代码(备份脚本):

#!/usr/bin/python
#Filname:backup_ver1.py

import os
import time


source = [r'D:\hao\nihao',r'D:\hao']

target_dir = r'D:\ma'

target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip'

zip_command  =  "zip-qr'%s'%s"%(target,''.join(source))

if os.system(zip_command) == 0:
    print('Successful backup to',target)
else:
    print('Backup FAILFD')

已在环境变量path中添加来zip路径,在cmd可运行zip

在这些条件满足下,最后还是返回Backup FAILFD

为了排除我将os.system(zip_command) == 1,运行脚本则成功返回Successful backup to D:ma20181226210814.zip(实际没有执行)

请问是什么问题,我可以如何解决?(卡了好多天了,请求帮助!!谢过大神!!)

阅读 2.2k
1 个回答

之后我有百度里很多方法!!!终于!!!成功了(这大概就是我自学最大的快乐了)

改动前 zip_command = "zip-qr'%s'%s"%(target,''.join(source))

改动后 zip_command = "zip口-qr口%s口%s"%(target,'口'.join(source)) # 为了便于需要的人理解识别,这里用“口”表示空格

就成功运行并且备份了(建立在你在windos安装了zip,在cmd命令行输入zip出现相应的内容则安装成功,怎么装百度吧,我看到很多篇了,这个过程会帮助你理解为什么。)

其中的原因和理由
(target, ’ ‘.join(source))中”中的空格,只有加入了空格zip才能识别多个文件夹
哈哈哈为什么取消'',他只留了句百度的。
如果有哪位大神知道,留言解释一下,我也需要知道为什么这样修改就成功了。

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