Python备份脚本(Win10+Python2.7+PyCharm)
说一下程序来源,是从《Python简明教程》上面看到的程序,试了一下之后,居!然!不!行!!!
Google了老半天,也看了好多个博客,也未能解决。
除了一些基本语法问题、字符串中队'\'的处理的问题等之外,此处假设程序本身没什么问题了,主要是zip_command这个指令出现的问题。其中最常见的问题就是zip不是什么内部指令的那个了,如下图:

先说一下我的解决方法,是从万能的知乎上找到的方案,话不多说,直奔重点。
下了一个7-zip的软件,安装一下,要记住你的安装路径!
先贴代码吧,如下所示:
# -*- coding:utf-8 -*- __author__ = 'Leon' import os
import time #1 先把需要备份的文件夹,保存进列表
source = [r'G:\test',r'G:\test2']
#2 设置目标保存文件目录
target_dir = 'D:\\'
#3 保存为zip格式,规范命名
target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip' print source
print target #4 使用zip command命令,将文件压缩进zip存档
zip_command = r"D:\7-Zip\7z.exe a %s %s" % (target,' '.join(source))#注意,这里的''之间有一个单位的空格符 #运行
if os.system(zip_command) == 0:
print '文件已经成功备份至' + target
else:
print '备份失败...'
将zip_command中的的zip命令定向性的指明位置,D:\7-zip\7z.exe就是软件的安装位置。
下面是我的输出结果:
D:\Python27\python.exe E:/MyDamnWork/backup_ver01/ver_01.py
['G:\\test', 'G:\\test2']
D:\20150906214804.zip
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Creating archive D:\20150906214804.zip
Compressing test2\b (1).docx
Compressing test2\b (1).pdf
Compressing test2\b (1).txt
Compressing test2\b (2).docx
Compressing test2\b (2).txt
Compressing test\a (1).jpg
Compressing test\a (2).jpg
Compressing test\a (3).jpg
Compressing test\a (4).jpg
Compressing test\a (5).jpg
Everything is Ok
文件已经成功备份至D:\20150906214804.zip
Process finished with exit code 0
打开压缩文件后:

原文链接:http://www.cnblogs.com/leonwen/p/4787492.html
Python备份脚本(Win10+Python2.7+PyCharm)的更多相关文章
- python备份脚本
备份制定文件到指定目录下,文件名以当前时间 思路: 1.指定备份的文件或目录 2.指定备份的目标路径 3.压缩备份名是当前日期和时间 4.使用标准的压缩命令 1.最简单的以日期时间为文件名 2.以日期 ...
- python 备份脚本
import osimport timesource= r"out_res.txt"target_dir= r"F:\python\Doc"target=tar ...
- Python数据库备份脚本
Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...
- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...
- elasticsearch之python备份
一:elasticsearch原理 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功 ...
- MySQL自动化(全量+增量)备份脚本
文章转自:http://www.it-hack.cn/forum.php?mod=viewthread&tid=220&extra=page%3D1 一.MySQL的日常备份方案: 全 ...
- Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥。
Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥. #!/usr/bin/env python # -*- coding: utf- -*- import os im ...
- Python备份MySQL数据库【转】
#!/usr/bin/env python # coding: utf- import os import time ''' defined variable ''' databases=['hch' ...
- Linux 下的 PostgreSQL 数据库+文件通用自动备份脚本
由于 Odoo(原名 OpenERP)自 8.0 以来会生成 CSS,并把附件存储在文件系统中,因此以前单纯备份数据库的脚本已经不够用了.出于实际部署的考虑,我专门写了个较为通用的 Odoo 备份脚本 ...
随机推荐
- 【JS】394- 简明 JavaScript 函数式编程-入门篇
转载自公众号"程序员成长指北" 写在开头 本文较长,总共分为三大部分:(对于函数式编程以及其优点有一定理解的童鞋,可以直接从 第二部分 开始阅读) 第一部分:首先会通过实际代码介绍 ...
- NodeJS4-2静态资源服务器实战_实现获取文件路径
实例2 : 实现获取文件路径,判断是文件还是文件夹,如果是文件夹就显示里面的列表文件,如果是文件就显示里面的内容 defaultConfig.js module.exports={ root:proc ...
- c++之基础知识
一.变量 作用:给一段指定的内存空间,方便操作这段内存. 语法:数据类型 变量名 = 初始值.int a = 10; 二.常量 作用:用于记录程序中不可更改的数据 c++定义常量有两种方式: #def ...
- Caffe源码-Layer类
Layer类简介 Layer是caffe中搭建网络的基本单元,caffe代码中包含大量Layer基类派生出来的各种各样的层,各自通过虚函数 Forward() 和 Backward() 实现自己的功能 ...
- js如何操作sass里的变量及calc 使用sass变量
scss文件里 :root { --height-primary: 240px; //--height-primary :变量名,css3有规则 } $header: var(--height-pri ...
- centos7下MySQL5.7修改默存储路径
安装MySQL中YUM默认安装路径是/var/lib/mysql下,有时候该目录分配的磁盘空间并不大,需要迁移到新的磁盘目录 df -h 查看磁盘空间大小 本次迁移到 /home目录下 1.在hom ...
- 阿里云ECS部署Redis主备哨兵集群遇到的问题
一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...
- `MediaDevices.getUserMedia` `undefined` 的问题
通过 MediaDevices.getUserMedia() 获取用户多媒体权限时,需要注意其只工作于以下三种环境: localhost 域 开启了 HTTPS 的域 使用 file:/// 协议打开 ...
- 初窥R(基本说明、获取帮助、工作空间、输入输出、包)
本篇简要介绍使用R的一些基本概念,包括基本说明.获取帮助.工作空间.输入输出,每个知识点中都会通过一个例子来练习. 一.R基本情况说明 1.R是一种区分大小写的解释性语言. 2.控制台默认使用命令提示 ...
- MySQL 是如何处理死锁的
MySQL(InnoDB)是如何处理死锁的 一.什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁. 这个就好比你有一个人质,对方有一个人质,你们俩去 ...