读书人

python 文件备份异常

发布时间: 2012-02-19 19:43:39 作者: rapoo

python 文件备份错误
#! c:\python26
# Filename: backup_ver1.py
import os
import time
source=[r'C:\test', r'C:\test1']
target_dir='D:\\back\\'
target=target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip'
zip_command="rar a -r \"%s\" \"%s\"" %(target,''.join(source))
if os.system(zip_command)==0:
print'successful backup to',target
else:
print'backup failed'

在dos下运行,提示“不能读取c:\testc:\test1的内容” ,如果改为“source=r'C:\test'” ,只备份一个目录,可以运行。
不知道怎么解决

[解决办法]
还是需要一些基本知识:Windows需要用双引号括起文件,防止其中的空格变成分隔符,所以你需要把source中的每个文件名都加上引号,所以比较好的办法应该是:

zip_command="rar a -r \"%s\" %s" %(target,' '.join("\"%s\"" % s for s in source))

读书人网 >perl python

热点推荐