问题:

实现一个可以为所有重要文件创建备份的程序

分析:

拆解问题,1、何为重要文件,假定它们都放到指定的一个或几个文件夹中。

2、备份都存放到一个备份主目录中。

3、备份压缩成zip格式

4、备份文件的名称以日期作为命名。

编写代码

#coding=utf-8

import os

import time

#需要备份的目录列表

source = [r'C:\Documents',r'D:\bak']

#备份放置的目录及备份文件名

target = 'D:\\ebooks\\' + time.strftime('%Y%m%d%H%M%S') + '.zip'

#window下的备份命令

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

print zip_command

if os.system(zip_command) == 0:

print 'Successful backup to',target

else:

print 'Backup FAILED'

读懂代码,翻译成人类语言。

它如何工作?【参数等资源准备--执行--得到结果】

我们用了os, time模块,source是需要备份的文件列表。指定创建备份的存放目录和存放的zip格式文件名。

time.strftime('%Y%m%d%H%M%S')得到年月日时分秒格式的时间字符。

window下的备份命令, zip -qr 是, -q表示命名安静的执行(不显示执行日志)。 -r表示递归对文件及子文件夹下的文件进行备份。可以合并为-qr。 %s第一个占位符为 备份的目录及备份文件名称,第二个占位符是需要备份的目录列别。

' '.join(),以' '空格作为分隔符连接join()里的字符。

os.system() 执行像是在shell下执行 命令一样。成功返回0,错误返回错误信息。

shell?

在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

用python解决实际问题_Python解决实际问题一--备份文件相关推荐

  1. python汉字编码错误_python解决汉字编码问题:Unicode Decode Error

    前言 最近由于项目需要,需要读取一个含有中文的txt文档,完了还要保存文件.文档之前是由base64编码,导致所有汉字读取显示乱码.项目组把base64废弃之后,先后出现两个错误: 如果对于ascii ...

  2. python下载源_python解决使用镜像源来安装包

    一.问题 在进行python包安装的时候出现一个问题就是无法进行安装,且出现了如下的错误 报错代码 Retrying (Retry(total=4, connect=None, read=None, ...

  3. python组合数据分类_Python解决数据样本类别分布不均衡问题

    所谓不平衡指的是:不同类别的样本数量差异非常大. 数据规模上可以分为大数据分布不均衡和小数据分布不均衡.大数据分布不均衡:例如拥有1000万条记录的数据集中,其中占比50万条的少数分类样本便于属于这种 ...

  4. python 中文乱码_python 解决cv2绘制中文乱码问题

    前几天在公司敲出了个BUG,硬是让我头疼了一阵子,没想到BUG的起因竟是一点小小的细节问题,唉!被折磨的够呛,又让我想起那时候遇到的python cv2绘制中文乱码,差不多也是同样的感受. 为此今天我 ...

  5. python上台阶问题_Python解决N阶台阶走法问题的方法

    这篇文章主要介绍了,简单描述了走台阶问题,并结合实例形式分析了Python使用递归与递推算法解决走台阶问题的相关操作技巧,需要的朋友可以参考下 本文实例讲述了.分享给大家供大家参考,具体如下: 题目: ...

  6. python module错误_python 解决方法:ImportError: No module

    前言:需要安装oracle模块,链接oracle操作:但是服务器没有联网,只能下载tgz包自行安装: 错误:sudo root权限后,进行安装,root用户下可以正常引用:import c x_Ora ...

  7. python 排列组合_python解决排列组合

    笛卡尔积:itertools.product(*iterables[, repeat]) import itertools for i in itertools.product('BCDEF', re ...

  8. 西门子S7200plc通信不上实际问题和解决方法

    西门子S7200plc通信不上实际问题和解决方法 现场通信的同学在现场调试的时候,现在特别是做项目改造的项目,西门子S7200plc通信面临淘汰,但是在改造的项目中还能经常看到他们的身影,下面我们就来 ...

  9. ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串

    题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...

最新文章

  1. ECharts+BaiduMap+HT for Web网络拓扑图应用
  2. 删除你的所有计算机文件的英文,《电脑文件英文对照》.doc
  3. SimpleDateFormat使用详解——日期、字符串应用
  4. 抠像噪点去除 unity_这个在线抠图工具,好用又免费,告别Photoshop繁杂操作
  5. 大数据分析实战-信用卡欺诈检测(四)-正则化惩罚
  6. ready to study design pattern
  7. Windows2008|2003超出最大连接数
  8. 一次“背锅”和“解锅”后的反思
  9. VMware Cloud Director Availability 4.3 下载 | 灾难恢复和迁移 | DRaaS
  10. win7驱动精灵_win7驱动打不上?黑科技H310/B360 USB核显驱动安装教程
  11. 开源社已加入群聊,思否 AIGC Hackathon 扩列
  12. Genymotion-ARM-Translation.zip各安卓版本合集
  13. 极客假日礼物指南(我们喜欢的极客资料)
  14. poll, ppoll
  15. 计算机睡眠后键盘鼠标无法唤醒,电脑休眠键鼠无法唤醒?解决键盘鼠标无法唤醒电脑待机的问题...
  16. Alpine 安装 MySQL
  17. CTF-攻防世界web新手入门篇
  18. 合泰单片机AD转换Adc_Init.c
  19. 基于遗传算法和模拟退火算法改进的混合模拟退火算法(解决求函数极值问题,MATLAB代码已实现)
  20. 【面试官说“回去等通知”,我到底会不会等来通知?】

热门文章

  1. gitHub创建 repository仓库 并推送本地代码到该仓库
  2. ubuntu下安装交叉编译的环境脚本
  3. Jenkins - Extended E-mail配置教程
  4. 小程序开发系类之基础部分-开发工具
  5. Linxu用户登录监测
  6. 基于Shibbloet实现的SSO单点登录
  7. Nginx+Tomcat集群与负载均衡
  8. linux 查看文件夹大小 du命令
  9. Google App Engine技术架构之Google App Engine的简介
  10. WPA/WPA2安全认证加密原理详解