python自动备份手机_Python3实现自动备份

需求

将重要文件备份到指定目录,存档文件名称为“当前日期.zip”。

前提

1) Windows系统

2) Python 3以上版本

旗舰版

1 #!usr/bin/python

2 #-*- coding:utf-8 -*-

3 #Filename:backup_v1.py

4

5 importos6 importtime7

8 source = 'C:\\zzSource\\'

9 target_dir = 'D:\\zzBackUp\\'

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

11 zip_command = "zip -qr %s %s"%(target,''.join(source))12 print(zip_command)13 print('---------------')14 if os.system(zip_command)==0:15 print('Successful backup to %s'%(target))16 else:17 print('Backup FAIILED')

backup_v1.py

说明:将目录前面加zz纯粹是为了能让目录按名称排在最后,无他意。

源目录文件:

执行命令:

目标路径文件:

打开压缩包查看:

说明备份成功。

更加方便的备份方式——批处理+Python

在进行完上面的步骤之后,笔者还是觉得这样太麻烦,就用批处理解决了。

1 C:2 cd zzPythonTest3 python backup_v2.py4 pause

批处理命令

注:这里的第二版只是将source由字符串类型变成了list类型。即:

source = ['C:\\zzSource\\','D:\\zzSource_2\\']

保存为“MyStart.bat”。双击bat,运行结果如下:

这样就实现了自动化备份。

高级版

上面的版本还是不尽人意,主要是不能和用户交互,并且备份目录也不够合理。下面的版本对此进行改进。

流程图如下:

Python代码如下:

1 #!usr/bin/python

2 #-*- coding:utf-8 -*-

3 #Filename:backup_v3.py

4

5 importos6 importtime7

8 source = ['C:\\zzSource\\','D:\\zzSource_2\\']9 target_dir = 'D:\\zzBackUp\\'

10

11 #是否有新文件要备份

12 print("是否有新的文件备份?(Y/N)")13 str=input()14 if 'Y'==str or 'y'==str:15 print('请输入要备份文件的源路径')16 filePath=input()17 source.append(filePath)18 print('-------新的source为: %s'%(source))19 else:20 print('------source仍然为: %s'%(source))21

22 #如果不存在目标备份目录则创建

23 today = target_dir + time.strftime('%Y%m%d')24 if notos.path.exists(today):25 os.mkdir(today)26 print('成功创建备份目录 %s'%(today))27

28 #得到目标备份目录

29 now = time.strftime('%H%M%S')30 print('请输入注释:')31 comment =input()32 if len(comment)==0:33 target = today + os.sep + now +'.zip'

34 else:35 target = today + os.sep + now + '_' + comment.replace(' ','_') + '.zip'

36

37 print('-----备份target: %s'%(target))38

39 #执行备份命令

40 zip_command = "zip -qr %s %s"%(target,' '.join(source))41 print(zip_command)42 print('================================')43 if os.system(zip_command)==0:44 print('Successful backup to %s'%(target))45 else:46 print('Backup FAIILED')

高级版

批处理文件内容如下:

1 cd C:\zzPythonTest2 python backup_v3.py3 pause

View Code

每次还要找到批处理文件双击才能运行,还是不够自动化啊,于是做了以下操作:

在 D 盘建立一个bat目录,专门用来存放各种批处理命令。

将上面的文件保存为backup.bat。同时在环境变量path中添加 ;D:\bat  。

win + R 进入控制台,运行命令 backup:

查看目标备份目录:

完全符合预期。

以上是抛砖引玉,还可以根据需要继续优化。

参考文献

《Python简明教程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值