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

一、安装压缩程序

在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')

运行结果
这里写图片描述


备份实现结果

这里写图片描述


小知识

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

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值