1. 程式人生 > >簡明python教程使用zipfile方法建立歸檔檔案

簡明python教程使用zipfile方法建立歸檔檔案

python小白,正在使用《簡明python教程》自學python。此文為書中“解決問題”一章後的使用zipfile建立歸檔檔案本人的程式,希望可以幫助到需要幫助的人。程式碼如下:
# coding=gbk

import os
import time
import sys
import zipfile

# 1. 需備份的檔案與目錄將被指定在一個列表中
a=sys.argv[1]
sources = ['F:\\source']
sources.append(a)
# 此處需注意:必須在字串中使用雙引號用以括起其中包含空格的名稱。
print(sources)

# 2. 備份檔案必須儲存在一個主備份目錄中
target_dir = 'G:\\Backup'

# 3.備份檔案將打包壓縮成zip
# 4.zip的檔名由當前日期與時間構成
today = target_dir + os.sep + time.strftime('%Y%m%d')
now = time.strftime('%H%M%S')

# 新增一條來自使用者的註釋以建立zip的檔名
comment = input('Enter a comment --> ')
# 檢查是否有評論鍵入
if len(comment) == 0:
    target = today + os.sep + now + '.zip'
else:
    target = today + os.sep + now + '_' + comment.replace(' ', '_') + '.zip'

#如果目標目錄還不存在,則進行建立
if not os.path.exists(target_dir):
    os.mkdir(target_dir) #建立目錄

if not os.path.exists(today):
    os.mkdir(today)
    print('Successfully created directory', today)


# 執行備份
print('Running:')
z = zipfile.ZipFile(target, 'w', zipfile.ZIP_DEFLATED)
for source in sources:
    for dirpath, dirnames, filenames in os.walk(source): 
        for filename in filenames:
            directory = os.path.join(dirpath,filename)
            z.write(directory)
names=z.namelist()
print(names)
z.close()
此程式可實現將內建資料夾與指定資料夾打包成以時間+使用者評論命名的.zip檔案。大部分程式碼來自《簡明python教程》,執行備份部分參考了http://blog.csdn.net/b_h_l/article/details/9406675。若對for dirpath, dirnames, filenames in os.walk(source):一句有疑問,則可移步http://www.51testing.com/html/87/15091687-3686445.html。非常感謝b_h_l和南瓜demi兩位大大。

相關推薦

簡明python教程使用zipfile方法建立歸檔檔案

python小白,正在使用《簡明python教程》自學python。此文為書中“解決問題”一章後的使用zipfile建立歸檔檔案本人的程式,希望可以幫助到需要幫助的人。程式碼如下:# coding=gb

簡明python教程中用zipfile模組進行備份

簡明python教程中,用zipfile模組進行備份的部分,書中並沒有留下程式碼,程式碼如下:import os import time import zipfile # 1. 需要備份的檔案與目錄將被 # 指定在一個列表中。 # 例如在 Windows 下: sourc

簡明python教程

一段時間 chinese 教程 源代碼 內容 edit 版本 nbsp 生成 下載 你可以訪問 https://www.gitbook.com/book/lenkimo/byte-of-python-chinese-edition/ 以獲得本書以下格式的下載: PDF (

簡明 Python 教程》筆記

python poe 不用 cep nal rar ava 處理異常 exce 《簡明 Python 教程》筆記 原版:http://python.swaroopch.com/ 中譯版:https://bop.mol.uno/ 有 int、float 沒 long、d

簡明Python教程》Swaroop, C. H. 著 第4章 基本概念

用戶 後者 style 指示 單獨 轉義 大小寫 single 面向 僅僅打印“Hello World”就足夠了嗎?你應該想要做更多的事——你想要得到一些輸入,然後做操作,再從中得到一些輸出。在Python中,我們可以使用常量和變量來完成這些工作。字面意義上的常量一個字面意

Python程式設計:tempfile建立零時檔案

tempfile需要的時候建立零時檔案,關閉之後就被刪除了 import tempfile import os # 建立檔案 file = tempfile.TemporaryFile(mode="w+") print(file.name) # 4 print(os.path.

面向物件的程式設計(1)——簡明python教程學習筆記

本文大量內容來源於沈老師的簡明python教程,其中夾雜部分個人的理解如有偏頗之處還望海涵。 一.簡介 到目前為止,在我們的程式中,我們都是根據操作資料的函式或語句塊來設計程式的。這被稱為面向過程的程式設計。 還有一種把資料和功能結合起來,用稱為物

簡明python教程(高清版)PDF

簡明python教程(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1TdXy75YX9jjlBujK7F01aw 提取碼:r3pe 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · 《A Byte of Python》是一本由 Swaroop

簡明Python教程(A Byte of Python中文版)

參考資料地址:https://github.com/LenKiMo/byte-of-python(中文版) https://github.com/swaroopch/byte-of-python(英文版) https://python.swaroopch.com/(英文版) 注意點: 1. Pytho

Python教程補充內容(函式中接收元組、列表和lambda的用法)——簡明python教程學習筆記

本文大量內容來源於沈老師的簡明python教程,其中夾雜部分個人的理解如有偏頗之處還望海涵。 一. 在函式中接收元組和列表 \quad當要使函式接收元組或字典形式的引數的時候,有一種特殊的方法,它分別使用*和**字首。 這種方法在函式需要獲取可變數量的引數的

Python學習之路(Win7)之簡明python教程

遇到Python是因為opencv3.1的dnn的訓練部分要用到caffe,而caffe配置中有一個就是需要Python,因為google下的caffe讀的資料是leveldb或lmdb,所以如果是一個特徵矩陣的話,就要先用python轉化為這兩種格式。。。另一個是看到《機

簡明python教程》總結(五)-- 面向物件程式設計,輸入/輸出,異常

#!/usr/bin/python# Filename: inherit.pyclass SchoolMember:'''Represents any school member.'''def __init__(self, name, age):self.name = nameself.age = a

簡明python教程的一點小體會

    最近花了兩天的時間看了一遍<簡明python>,由於之前看過<程式設計小白的第一本python>所以有一點點基礎了,再看這本書還比較輕鬆.      簡明是這本書突出的亮點,把知識點分章節列出來,然後再每個知識點之後都會有配套的典型例子,你可

Python人臉識別之——建立csv檔案 create_csv.py 程式碼 Python3.7

 這是一個很小的指令碼,可以幫助你從具有類似層次結構的人臉資料庫建立CSV檔案 import sys import os.path # This is a tiny script to help you creating a CSV file from a face #

python建立Excel檔案資料的方法

# -*- coding: utf-8 -*-# @Time : 2018/12/6 17:10# @Author : suchao# @Disc: : 生成10000條Excel資料# @File : 1000data.py# @Software: PyCharmimport xlrd ,

python 05day --linux啟動過程及檔案合併歸檔壓縮vi和vim編輯器

一、linux系統啟動過程 1)核心的引導。 當計算機開啟電源後,首先是BIOS開機自檢,按照BIOS中設定的啟動裝置(通常是硬碟)來啟動。 作業系統接管硬體以後,首先讀入 /boot 目錄下的核心檔案。 2)執行 init。 init 程序是系統所有程序的起點,你可以把它比擬成系統所有程序的老祖宗

[課本10.1.4]JDBC資料庫連線池- C3P0資料來源--通過構造方法建立資料來源物件--通過配置檔案建立資料來源物件[推薦]

JDBC- C3P0資料來源 1 /*重點提醒*/ 2 連線資料庫的較低的jar包版本會與較高版本的mysql版本有衝突; 3 通過把mysql 8.0的版本降到5.5, jar包仍使用較高的 mysql-connector-java-5.1.7-bin.jar, 完美解決衝突.  

C++中當前路徑、相對路徑、絕對路徑的表示方法及如何建立一個檔案

在建立檔案之前先了解當前目錄和當前目錄的上一級目錄的表示方法:“./”表示當前目錄,而“../”則表示當前目錄的上一級目錄。其次要了解相對路徑和絕對路徑的區別: 1)絕對路徑:絕對路徑是指目錄下的絕對位置,直接到達目標位置,通常是從碟符開始的路徑。例如:C:\windows\syste

Python 判斷並建立多級檔案目錄

在使用Python寫入檔案檔案的過程中,需要判斷資料夾路徑是否存在,不存在需要建立多級路勁 import os #先定義一個帶路徑的檔案 filename = "/home/mydir/test

python入門教程,格式化輸出,檔案物件

Python格式化輸出: Python的字串格式化有兩種方式: 百分號方式、format方式 百分號的方式相對來說比較老,而format方式則是比較先進的方式,企圖替換古老的方式,目前兩者並存。[PEP-3101] (1)百分號格式化 %[(name)][flags][width][.