2 qq 25750689 qq_25750689 于 2016.02.24 12:01 提问

python备份脚本提示文件名,目录或卷标语法出错(Windows7) 1C

#Filename:backup_ver1.py

import os
import time

#1.the files and directories tobe backed up are specified in a list
source=['D:\Library\Pcb','D:\Library\PLD']

target_dir='F:\DD\'

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 back up to',target
else:
print'backup FAILEED'

想把'D:\Library\Pcb,D:\Library\PLD文件备份到f:DD文件夹里,pcb/pld都是文件夹

5个回答

qq_25750689
qq_25750689   2016.02.24 12:03

source=['D:\Library\Pcb','D:\Library\PLD']

target_dir='F:\DD\'
换成这样也不行

oyljerry
oyljerry   Ds   Rxr 2016.02.24 12:33

这样试试

 source=['D:\\Library\\Pcb','D:\\Library\\PLD']
qq_25750689
qq_25750689   2016.02.24 16:21

试过了,我之前的代码就是这个,传上去使得两杆“\" 变成一杆”\"

qq_25750689
qq_25750689   2016.02.24 16:23

看过 简明 python 教程 的帮忙解答:第十章的写一个备份脚本文件,
分享| 2011-04-14 14:44 一身平淡 | 浏览 373 次
#!/usr/bin/env python

Filename: backup_ver1.py

import sys
import os
import time

1. The files and directories to be backed up are specified in a list.

source=[r'C:\work1',r'D:\Work']

If you are using Windows, use source=[r'C:\Documents',r'D:\Work'] or something like that

2. The backup must be stored in a main backup directory

target_dir=r'D:\yss' #Remember to change this to what you will be using

3. The files are backed up into a zip file

4. The name of the zip archive is the current date and time

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'

我运行后返回的是 Backup FAILED 什么原因照成的啊!
2011-04-14 15:51 #知道最神秘组织让琅琊阁甘拜下风# 提问者采纳
是不是路径不存在之类的?还有其他输出吗?
在这句zip_command="zip -qr '%s' %s" %(target,' '.join(source))后面加个
print zip_command
然后把这句拷下来,直接运行看看结果
追问:
我都建了这些文件夹的
source=[r'C:\work1',r'D:\Work'] 这句的意思:是要把C盘里的work1和D盘的Work备份吗?
target_dir=r'D:\yss' 这句的意思:把要备份的本件夹,将来备份在D盘里的yss文件夹里吗?

按你做的我返回的是:
zip -qr 'D:\yss20110414163016.zip' C:\work1 D:\Work
Backup FAILED

追答:
是啊,你是在windows下吗?
直接在命令行cmd里面输入这条命令看看。很怀疑你的机器上没有zip这个命令呢
追问:
是的,我是在windows下的,你说在命令行里输入这条命令看看,是那条啊?有可能没装zip,能加你QQ聊吗?我的是564332055,非常感谢!!!
追答:
就是zip -qr 'D:\yss20110414163016.zip' C:\work1 D:\Work这条命令

和这个遇到是一样的,可是没解决

dongfuguo
dongfuguo   2016.02.25 09:33

http://user.qzone.qq.com/306467355/blog/1456362555
或许这是你想要的答案,可以使用Python标准库zipfile来实现。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
cocos2d-x 3.0 打包成apk时出现文件名、目录名或卷标语法不正确的解决办法
今天做一个cocos2dx的小项目,做完后再打包成AP
SVN问题
SVN问题 分类: Subversion2011-01-11 16:34 2421人阅读 评论(0) 收藏 举报 svntortoisesvn工作脚本pythonc 问题1、 TortoiseSVN版本降级后,更新本地工作目录提示”This client is too old towork with working copy” 原因:这是因为1.6.0将你的工作拷
文件名、目录名或卷标语法不正确
从新浪爱问上找到一本宋敬彬、孙海滨版的《Linux网络编程》,100多M,可是用winrar解压时报错 找了一圈,没有解决方案,也没有其他地方可以下载到,后来无意回到下载页面,发现已有人跟帖提示用7-zip可以解压成功,试了一下果然可以。 不知这种办法对其他同类型(仅文件名有非法字符,文件本身没损坏)的错误是否有效。
文件名 目录名或卷标语法不正确
文件名 目录名或卷标语法不正确原因在于springmvc的controller没有在方法前添加@responsebody注释。查了很多问题,这样解决了。
Windows进行File读写时一个比较诡异的文件名、目录名或卷标语法不正确。
情景:我进行文件读写的原地址与目的地址都是写在一个自定义的配置文件upConfig.propertis里面的。 使用里面的路径进行文件读取数据时,报文件名、目录名或卷标语法不正确,但是使用自己手敲的路径却不报错。 最终解决方案:配置文件后缀改成.txt后,问题解决。
cocos发包“文件名、目录名或卷标语法不正确”问题解决方案
执行cocos编译命令 cocos compile -p android之后,中间也出现不少错误,主要的是两类:一是SDK,NDK环境变量设置,以及版本不同步的问题,比如指定SDK版本为之后android-21,NDK也要有对应的版本android-21,否则编译也会有问题。没有对应版本就百度搜一下就能找到。二就是项目文件夹proj.android\jni下Android.mk中CPP文件没有包含...
Navicat 连接MySQL数据不能新建查询,提示文件名、目录名或卷标语法不正确
Navicat的提示如下: 原因: 出现该问题的原因的是数据库连接名出现了:分号,而Windows不允许文件名中包含分号,导致Navicat不能创建该目录; 解决方法: 删除原来的连接,新建一个,并且连接名只能包括字母数字下划线等等Windows允许的文件名即可
cocos2d-js cocos run -p android 报错:文件名、目录名卷标语法不正确
这个错误是由于Python版本低于2.7.9导致的,只要把Python版本升级到2.7.9或者以上,即可 下载python2.7.9,http://pan.baidu.com/s/1boxHryR
cocos2dx-3.4 编译apk包 文件名、目录名或卷标语法不正确 解决方案
cocos2dx-3.4 编译apk包 文件名、目录名或卷标语法不正确 解决方案
Install:Wrapper.CreateFile failed with error 123:文件名、目录名或卷标语法不正确
在win7 或者win8,安装JDK时,会报该问题。 解决方法: 一:用管理员方式执行jdk 二:更改用户权限:打开【控制面板】-【用户】-【更改用户类型】,改为“管理员”即可!