代码备份机

案例: 代码备份机

1.打包备份

2. 自动命名

3.大抱歉进行文件筛选,值备份特定文件

4. 定时备份

编程思路:

1.项目:拆解

2.单功能:写函数

3. 多功能:合并类

4 写代码:先写框架,后完善

5.要点: 完成比完美更重要

# 第一步:根据功能设计函数
# 1.打包
def zip_all():
    ‘‘‘打包‘‘‘
    pass
def auto_name():
    ‘‘‘自动命名‘‘‘
    pass
def zip_all_by_name():
    ‘‘‘筛选文件‘‘‘
    pass
# 第二步:完善函数输入参数和返回值,并逐一测试
# 1.打包
import zipfile
import os 

def zip_all(from_dir, target_name):
    ‘‘‘传入目标目录,打包的名称这两个参数‘‘‘
    my_zip = zipfile.ZipFile(target_name,‘w‘)
    for root, dirs, files in os.walk(from_dir):
        for name in files:
            filename = os.path.join(root, name)
            my_zip.write(filename, compress_type=zipfile.ZIP_DEFLATED)
    my_zip.close()
def auto_name(source_name):
    new_name = ‘1.zip‘
    # 判断文件是否存在,单纯if只是判断是否为空
    # 还要进一步判断
    if source_name:   # a-1.zip  a-2.zip
        # split拆分
        new_name = source_name.split(‘-‘)[0] + ‘-‘ + str(int(source_name.split(‘-‘)[1].split(‘.‘)[0]) + 1) + ‘.zip‘
    return new_name

base_dir = r‘C:\study‘
target_name = os.path.join(base_dir, auto_name(‘c-1.zip‘))
from_dir = os.path.join(base_dir, ‘jupyter‘)
zip_all(from_dir, target_name)

coop = zipfile.ZipFile(r‘C:\study\c-2.zip‘)
coop.namelist
# os.chdir(r‘C:\study‘)
# coop.getinfo(‘c-2.zip‘)
---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-4-67f8c6decc4e> in <module>()
     29 coop.namelist
     30 os.chdir(r‘C:\study‘)
---> 31 coop.getinfo(‘c-2.zip‘)

c:\users\coop\miniconda3\envs\coop\lib\zipfile.py in getinfo(self, name)
   1279         if info is None:
   1280             raise KeyError(
-> 1281                 ‘There is no item named %r in the archive‘ % name)
   1282
   1283         return info

KeyError: "There is no item named ‘c-2.zip‘ in the archive"
os.getcwd()
‘C:\\study‘

原文地址:http://blog.51cto.com/13118411/2138666

时间: 2024-10-12 19:12:03

代码备份机的相关文章

[RK_2014_0911]串口代码备份,SerialPortOpen(),SerialPortRead(),SerialPortWrite()

[代码备份01] uart.c /******************************************************************************* Copyright (C), *** Tech. Co., Ltd. FileName: uart.c Author: Version : Date: 2008-1-11 Description: 串口的通用操作文件 other: Function List: History: // 历史修改记录 1.

Xtrabackup+Rsync 备份数据库并同步到远端备份机

简单架构: 简单描述: 要备份中间这三台服务器上面的数据库数据到备份机140上:中间这三台服务器是游戏服务器,WEB服务和DB都在一台机器上 最前端是passport服务器,提供玩家的账号相关信息及充值信息等,WEB服务和DB都在一台机器上,需要将数据库数据备份到备份机140上 服务器129对passport服务器的数据库做了mysql的主主同步,这里先忽略 要求: 对游戏服务器和passport服务器的数据库数据,在本地备份,同时备份到远端备份机140上,在本地保留三天,在备份机保留7天 将p

JSONP平台对接代码备份

<script type="text/javascript">$(function(){  $.ajax({   url:"http://192.168.11.97:8025/battle_summary?player_guid=1000000",   async: false,   dataType:"jsonp",   jsonpCallback:"summary",   success:function(su

[python]南邮OJ代码备份爬虫

之前看过Python学习的经验,说以工程为导向学习. 自己分析了一下,一般接触Python的都有一定的其他语言基础,对于程序设计的基本逻辑,语法都有一个大概的了解.而Python这种脚本语言,没有过于独特的语法,在一定的其他语言的基础上,更是可以直接上手的. 之前看Python简明教程,半天没有进度.正好遇上Python爬虫项目,直接上手,方便快捷. 网站:http://acm.njupt.edu.cn/welcome.do?method=index,正值系统更新,于是写一个备份代码的爬虫. 使

visual studio代码备份精减

当我们想备份自己的解决方案代码时,发现本来只有kB级的代码文件,visual studio编译后竟达到了几十甚至几百MB的量级.此时为了节省硬盘空间,我们需要把一些代码无关的东西精减掉,这些东西包括: Debug文件夹.x64文件夹.ipch文件夹..sdf文件..VC.db文件 以上文件夹和文件都会在编译时产生,对于我们代码备份无关紧要,所以都可以删除.另外,不同visual studio版本,可能产生的文件夹或文件不尽相同,但基本差不多,只要看到上面那些文件,尽可删除就是.如此精减后,解决方

web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境 要求: a)实现web服务文件更新的自动同步到另一台机器上 b)数据库实现主从复制 c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份.增量备份.差异备份 a,实现web服务文件更新的自动同步到另一台机器上: 1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录. 2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的ind

Qt 窗体间传值(代码备份)

刚开始看的时候看的云里雾里的,现在稍微明白一点了.现在假设有一个form,一个MainWindow,如图所示: 实现点击PushButton,将文本框中的内容传输到MainWindow中,显示为Label.界面我已经提前画好.下面是备份代码: form.h: #ifndef FORM_H #define FORM_H #include <QWidget> namespace Ui { class Form; } class Form : public QWidget { Q_OBJECT pu

THREE.js代码备份——canvas - lines - colors(希尔伯特曲线3D、用HSL设置线颜色)

<!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - lines - colors</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no, m

pdf对excel数据转换代码备份

一.综合测试代码 # -*- coding: utf-8 -*- """ Created on Wed Dec  2 15:46:02 2015 @author: Administrator 13-1-001之后的就发生读取发生错误,index=1976 index=4100发生错误 """ import PyPDF2,os,openpyxl from openpyxl.cell import get_column_letter,column_i