一、安装压缩程序
在win下无法使用zip命令,所以得自己下压缩程序,这里我推荐winRAR和7z-zip(下面我用7z-zip)
二、将python版本和压缩程序添加到path
1.先进入编辑环境位置
控制面板->系统和安全->系统,选择高级系统设置,选择环境变量
2.在环境变量面板中找到系统变量中的path,选择编辑
3.将刚刚下载的7z.zip中的7z.exe复制到C:\Windows下
4.在系统变量path中加入python版本路径和C:\Windows
下面是我的path中加了上面两个
上面就是已经把系统变量配置完成了接下去就是撸代码了!!
三、备份,撸代码
下面是我总结的思路步骤
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
运行结果
备份实现结果
小知识
代码中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.先进入编辑环境位置
控制面板->系统和安全->系统,选择高级系统设置,选择环境变量
2.在环境变量面板中找到系统变量中的path,选择编辑
3.将刚刚下载的7z.zip中的7z.exe复制到C:\Windows下
4.在系统变量path中加入python版本路径和C:\Windows
下面是我的path中加了上面两个
上面就是已经把系统变量配置完成了接下去就是撸代码了!!
三、备份,撸代码
下面是我总结的思路步骤
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
运行结果
备份实现结果
小知识
代码中zip_command中的a命令代表添加文件到压缩文件中,当然还有其他的命令
a : 添加文件到压缩文件中。
c : 添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限制到 32767 字节。
d : 从压缩文件中删除文件。请注意,如果这个命令导致压缩文件中所有文件全部删除,这个空的压缩文件将被删除。
e : 解压文件到当前目录。
f : 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不 向压缩文件中添加新文件。