python文件备份问题解决

1、需求:我想要一个给我所有的重要文件备份的程序

2、需求分析:我们如何确定该备份哪些文件?备份保存在哪里?我们怎样存储备份?

3、程序设计:

列一个程序如何工作的顺序表:

(1)需要备份的文件和目录由一个列表指定。

(2)备份应该保存在主备份目录中

(3)文件备份成一个.zip文件。

(4)zip存档的名称是当前的日期和时间。

(5)我们使用标准的zip命令。可以选择其他命令,但是必须有命令行界面。这样我们才可以从脚本中传递参数。

4、解决方案:

import os
import time

# 例如在Windows下:
source = ['"D:\\My Documents"','D:\\Code']

# 例如在Windows下:
target_dir = 'E:\\Backup'

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

# 如果目标目录还不存在,则进行创建
if not os.path.exists(target_dir):
os.mkdir(target_dir) #创建目录

# 使用zip命令将文件打包成zip格式
#zip_command = 'zip -r {0} {1}'.format(target,' '.join(source))
# 使用rar命令将文件打包成rar格式
rar_command = 'rar a {0} {1}'.format(target,' '.join(source))



#运行备分
print(rar_command)

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

运行后
 
 

 
 

5、测试
(1)以上程序没有成功,在os.system前设置一条语句print(zip_command)。运行程序。

 
 

 

 
 

复制打印出来的zip_command命令到shell提示符,看看能否正常运行。

 
 

 

命令失败,查看zip命令手册,到底是什么出错了。(如果命令正常,查看python程序是不是写错了。)
在这里是因为我的电脑不支持zip的命令,但是我安装了WINRAR,所以可以使用rar命令代替zip命令。
将上面的zip_command = 'zip r {0} {1}'.format(target,' '.join(source))注释掉。换成zip_command = 'rar a {0} {1}'.format(target,' '.join(source))
运行。
依然失败。
打开电脑自带的cmd窗口,打入rar直接运行,找不到。这就是因为rar的环境变量没有设置。
在windows环境变量的PATH中加入rar.exe所在的目录地址。重新打开cmd,运行rar就可以找到了。
关闭python,重新打开,再运行修改后的程序,成功了。

 

转载于:https://www.cnblogs.com/tangtang-angle/p/9234627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值