备份程序-基础

一、实验说明

1. 环境登录

无需密码自动登录,系统用户名 shiyanlou

2. 环境介绍

本实验环境采用带桌面的 Ubuntu Linux 环境,实验中会用到桌面上的程序:

  1. LX 终端(LXTerminal): Linux 命令行终端,打开后会进入 Bash 环境,可以使用 Linux 命令

  2. Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的 HTML/JS 页面即可

  3. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim 编辑器

3. 环境使用

使用 GVim 编辑器输入实验所需的代码及文件,使用 LX 终端(LXTerminal)运行所需命令进行操作。

实验报告可以在个人主页中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

4.环境搭建

实验楼虚拟机,自带了python2.0和python3.0版本,无需安装 该实验建议使用 python2.0 版本, 也就是默认版本

IDE选择及安装:

vim:自带编辑器,无需安装,只要你会,随你喜欢

IDLE:python的编译器,推荐新手使用
代码:sudo apt-get install idle

spyder:需要学习学习
代码:sudo apt-get install spyder

二、代码实现及知识点详细讲解

1、代码

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Filename : back.py

import os
import time

source = ['/home/shiyanlou/Code/']
target_dir = '/home/shiyanlou/Desktop/'

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 backup'
else :
    print 'Backup Failed'

2、代码详解

1、先确定需要备份的目录“source”以及保存备份的目录“target_dir”,确定这两个路径中的文件夹都存在且可以操作,在虚拟机中,你可以将权限设置成777。 例:sudo chmod 777 文件夹1 【文件夹2 ....】

2、zip命令:

-q : 选项用来表示zip命令安静的的工作

-r : 选项用来标识zip命令对目录递归的工作,即包括对该文件和其子文件操作

3、time模板中:

  • %Y显示四位数年份

  • %m会显示01-12中的一个

  • %d则表示为%m月的某一天

  • %H表示24小时制的一个

  • %M显示分钟

  • %S显示为秒

4、' '.join(source):这行代码,就是将souce列表转换为字符串。但是在这里,souce列表只有一个元素,所以转换出来没变化。在此举个例子:

sou = ['shi', 'yan', 'lou']
s = '空格'.join(sou)

显示字符串 s:

shi空格yan空格lou

有图有证据: 图片描述信息

5、将target、source及“ zip -qr ”通过字符串连接符号相连接,得到command命令行,再调用os.system()函数运行command命令,如果成功,返回0,否则返回错误号

6、实验结果(实验楼平台上): 图片描述信息

三、局限性

貌似这个只适合Linux(我更喜欢“哩呢珂斯”),因为这是 实验楼“——国内第一家以实验为核心的IT在线教育平台”,先上Linux的,马上进入跨平台的逼格模式,Next---->

版权声明:允许转载,转载请注明出处 —— 《基于 Python 的文件备份》: 备份程序-基础

扫码关注微信公众号
Copyright @2016-2017 | 赣ICP备16003025号