一、安装压缩程序

在win下无法使用zip命令,所以得自己下压缩程序,这里我推荐winRAR和7z-zip(下面我用7z-zip)


二、将python版本和压缩程序添加到path

1.先进入编辑环境位置

控制面板->系统和安全->系统,选择高级系统设置,选择环境变量 

python数据备份脚本 python备份列表l_python数据备份脚本

2.在环境变量面板中找到系统变量中的path,选择编辑

python数据备份脚本 python备份列表l_python数据备份脚本_02

3.将刚刚下载的7z.zip中的7z.exe复制到C:\Windows下

4.在系统变量path中加入python版本路径和C:\Windows

下面是我的path中加了上面两个

python数据备份脚本 python备份列表l_python数据备份脚本_03

 



python数据备份脚本 python备份列表l_压缩文件_04


上面就是已经把系统变量配置完成了接下去就是撸代码了!!

三、备份,撸代码

下面是我总结的思路步骤

1.导入os和time模块 
2.备份与存储位置 
3.定义存储备份zip的文件夹 
4.输入对存储的文件加注释(标记备份文件)并判断输入的标签注释是否长度为0,以确定备份文件名 
5.判断是否有存储备份文件的文件夹名(即today文件夹) 
6.定义zip命令,将文件打包成zip格式 
7.运行备份 
8.使zip命令从系统中运行,运行成功返回0,运行失败返回错误代码

代码

(含解析)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: xulinjie time:2017/10/12

##1.导入os和time模块
##2.备份与存储位置
##3.定义存储备份zip的文件夹
##4.输入对存储的文件加注释(标记备份文件)并判断输入的标签注释是否长度为0,以确定备份文件名
##5.判断是否有存储备份文件的文件夹名(即today文件夹)
##6.定义zip命令,将文件打包成zip格式
##7.运行备份
##8.使zip命令从系统中运行,运行成功返回0,运行失败返回错误代码

import os
import time

#需要备份的文件
source=r'F:\1.txt'

#存储备份文件的位置
target_dir=r'F:'


#os.path.exists是判断文件是否存在
if not os.path.exists(target_dir):
    os.mkdir(target_dir)

#today即在target_dir路径下的文件夹名,用来存放当天的备份文件
#time.strftime是将创建的zip归档文件的名字由当前日期和时间构成
today=target_dir+time.strftime('%Y-%m-%d')

#now指备份文件名字
now=time.strftime('%H%M%S')

#target=today+os.sep+now+'.zip'

#comment这里是需要你输入对备份文件的标签,方便以后查找
comment=input('input comment-->')

#判断是否有标签键入,解释下这里为什么是today+os.sep+now,而不是now
#因为today指的是你将要生成文件的路径,而os.sep是根据你的操作系统给出的分隔符
#(linux:/,win:\\,mac::),所以使用os.sep而非直接使用这些字符,是提高了程序可移植性
if len(comment)==0:
    target=today+os.sep+now+'.zip'
else:
    target=today+os.sep+now+'_'+\
        comment.replace(' ','_')+'.zip'

#判断是否生成了名为today的文件夹
if not os.path.exists(today):
    os.mkdir(today)
    print('ok create:',today)

#创建一串字符串,包含了要执行的命令,我下面两种方法都是可以的
#这里的a命令代表添加文件到压缩文件中
zip_command=r"7z a %s %s" %(target,source)
#zip_command=r'7z a {0} {1}'.format(target,‘’.join(source))


print('zip command is:')
print(zip_command)
print('running:')


#是os.system函数是使zip_command命令从系统中运行,运行成功返回0,运行失败返回错误代码
if os.system(zip_command)==0:
    print('success')
else:
    print('error')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

运行结果 

python数据备份脚本 python备份列表l_7z_05


备份实现结果

python数据备份脚本 python备份列表l_python数据备份脚本_06


小知识

代码中zip_command中的a命令代表添加文件到压缩文件中,当然还有其他的命令

a : 添加文件到压缩文件中。 
c : 添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限制到 32767 字节。 
d : 从压缩文件中删除文件。请注意,如果这个命令导致压缩文件中所有文件全部删除,这个空的压缩文件将被删除。 
e : 解压文件到当前目录。 
f : 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不 向压缩文件中添加新文件。

Python入门(五)——备份文件全过程

2017年10月15日 13:44:22

阅读数:216

一、安装压缩程序

在win下无法使用zip命令,所以得自己下压缩程序,这里我推荐winRAR和7z-zip(下面我用7z-zip)


二、将python版本和压缩程序添加到path

1.先进入编辑环境位置

控制面板->系统和安全->系统,选择高级系统设置,选择环境变量 

python数据备份脚本 python备份列表l_python数据备份脚本

2.在环境变量面板中找到系统变量中的path,选择编辑

python数据备份脚本 python备份列表l_python数据备份脚本_02

3.将刚刚下载的7z.zip中的7z.exe复制到C:\Windows下

4.在系统变量path中加入python版本路径和C:\Windows

下面是我的path中加了上面两个

python数据备份脚本 python备份列表l_python数据备份脚本_03

 



python数据备份脚本 python备份列表l_压缩文件_04


上面就是已经把系统变量配置完成了接下去就是撸代码了!!

三、备份,撸代码

下面是我总结的思路步骤

1.导入os和time模块 
2.备份与存储位置 
3.定义存储备份zip的文件夹 
4.输入对存储的文件加注释(标记备份文件)并判断输入的标签注释是否长度为0,以确定备份文件名 
5.判断是否有存储备份文件的文件夹名(即today文件夹) 
6.定义zip命令,将文件打包成zip格式 
7.运行备份 
8.使zip命令从系统中运行,运行成功返回0,运行失败返回错误代码

代码

(含解析)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: xulinjie time:2017/10/12

##1.导入os和time模块
##2.备份与存储位置
##3.定义存储备份zip的文件夹
##4.输入对存储的文件加注释(标记备份文件)并判断输入的标签注释是否长度为0,以确定备份文件名
##5.判断是否有存储备份文件的文件夹名(即today文件夹)
##6.定义zip命令,将文件打包成zip格式
##7.运行备份
##8.使zip命令从系统中运行,运行成功返回0,运行失败返回错误代码

import os
import time

#需要备份的文件
source=r'F:\1.txt'

#存储备份文件的位置
target_dir=r'F:'


#os.path.exists是判断文件是否存在
if not os.path.exists(target_dir):
    os.mkdir(target_dir)

#today即在target_dir路径下的文件夹名,用来存放当天的备份文件
#time.strftime是将创建的zip归档文件的名字由当前日期和时间构成
today=target_dir+time.strftime('%Y-%m-%d')

#now指备份文件名字
now=time.strftime('%H%M%S')

#target=today+os.sep+now+'.zip'

#comment这里是需要你输入对备份文件的标签,方便以后查找
comment=input('input comment-->')

#判断是否有标签键入,解释下这里为什么是today+os.sep+now,而不是now
#因为today指的是你将要生成文件的路径,而os.sep是根据你的操作系统给出的分隔符
#(linux:/,win:\\,mac::),所以使用os.sep而非直接使用这些字符,是提高了程序可移植性
if len(comment)==0:
    target=today+os.sep+now+'.zip'
else:
    target=today+os.sep+now+'_'+\
        comment.replace(' ','_')+'.zip'

#判断是否生成了名为today的文件夹
if not os.path.exists(today):
    os.mkdir(today)
    print('ok create:',today)

#创建一串字符串,包含了要执行的命令,我下面两种方法都是可以的
#这里的a命令代表添加文件到压缩文件中
zip_command=r"7z a %s %s" %(target,source)
#zip_command=r'7z a {0} {1}'.format(target,‘’.join(source))


print('zip command is:')
print(zip_command)
print('running:')


#是os.system函数是使zip_command命令从系统中运行,运行成功返回0,运行失败返回错误代码
if os.system(zip_command)==0:
    print('success')
else:
    print('error')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

运行结果 

python数据备份脚本 python备份列表l_7z_05


备份实现结果

python数据备份脚本 python备份列表l_python数据备份脚本_06


小知识

代码中zip_command中的a命令代表添加文件到压缩文件中,当然还有其他的命令

a : 添加文件到压缩文件中。 
c : 添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限制到 32767 字节。 
d : 从压缩文件中删除文件。请注意,如果这个命令导致压缩文件中所有文件全部删除,这个空的压缩文件将被删除。 
e : 解压文件到当前目录。 
f : 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不 向压缩文件中添加新文件。