在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 備份腳本——版本四
備份腳本——版本四
使用 <strong>init</strong> 方法
控制流
異常
表 15.1 一些特殊的方法
如何創(chuàng)建你自己的模塊
使用字典
前言
使用默認(rèn)參數(shù)值
表 5.1 運(yùn)算符與它們的用法
解決問(wèn)題——編寫一個(gè) Python 腳本
使用 for 語(yǔ)句
使用 continue 語(yǔ)句
使用元組輸出
對(duì)象與參考
使用函數(shù)形參
使用默認(rèn)參數(shù)值
使用 if 語(yǔ)句
如何引發(fā)異常
使用源文件
使用對(duì)象的方法
使用表達(dá)式
定義函數(shù)
使用局部變量
使用列表綜合
使用 sys.argv
使用 lambda 形式
使用 global 語(yǔ)句
備份腳本——版本二
使用列表
使用 while 語(yǔ)句
備份腳本——版本一
使用元組
輸入/輸出
使用類與對(duì)象的變量
使用 sys 模塊
表 5.2 運(yùn)算符優(yōu)先級(jí)
處理異常
使用 break 語(yǔ)句
函數(shù)
基本概念
運(yùn)算符與表達(dá)式
介紹
使用文件
使用序列
接下來(lái)學(xué)習(xí)什么?
使用帶提示符的 Python 解釋器
使用 DocStrings
使用字面意義上的語(yǔ)句
最初的步驟
數(shù)據(jù)結(jié)構(gòu)
儲(chǔ)存與取儲(chǔ)存
使用 dir 函數(shù)
模塊
Python 標(biāo)準(zhǔn)庫(kù)
備份腳本——版本三(不工作?。?/span>
創(chuàng)建一個(gè)類
安裝 Python
面向?qū)ο蟮木幊?/span>
使用模塊的<strong>name</strong>
使用變量和字面意義上的常量
使用繼承

備份腳本——版本四


    #!/usr/bin/python
    # Filename: backup_ver4.py

    import os
    import time

    # 1. The files and directories to be backed up are specified in a list.
    source = ['/home/swaroop/byte', '/home/swaroop/bin']
    # If you are using Windows, use source = [r'C:\Documents', r'D:\Work'] or something like that

    # 2. The backup must be stored in a main backup directory
    target_dir = '/mnt/e/backup/' # Remember to change this to what you will be using

    # 3. The files are backed up into a zip file.
    # 4. The current day is the name of the subdirectory in the main directory
    today = target_dir + time.strftime('%Y%m%d')
    # The current time is the name of the zip archive
    now = time.strftime('%H%M%S')

    # Take a comment from the user to create the name of the zip file
    comment = raw_input('Enter a comment --> ')
    if len(comment) == 0: # check if a comment was entered
        target = today + os.sep + now + '.zip'
    else:
        target = today + os.sep + now + '_' + \
            comment.replace(' ', '_') + '.zip'
        # Notice the backslash!

    # Create the subdirectory if it isn't already there
    if not os.path.exists(today):
        os.mkdir(today) # make directory
        print 'Successfully created directory', today

    # 5. We use the zip command (in Unix/Linux) to put the files in a zip archive
    zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))

    # Run the backup
    if os.system(zip_command) == 0:
        print 'Successful backup to', target
    else:
        print 'Backup FAILED'

(源文件:code/backup_ver4.py

輸出


    $ python backup_ver4.py
    Enter a comment --> added new examples
    Successful backup to /mnt/e/backup/20041208/082156_added_new_examples.zip

    $ python backup_ver4.py
    Enter a comment -->
    Successful backup to /mnt/e/backup/20041208/082316.zip

它如何工作

這個(gè)程序現(xiàn)在工作了!讓我們看一下版本三中作出的實(shí)質(zhì)性改進(jìn)。我們使用 raw_input 函數(shù)得到用戶的注釋,然后通過(guò) len 函數(shù)找出輸入的長(zhǎng)度以檢驗(yàn)用戶是否確實(shí)輸入了什么東西。如果用戶只是按了回車(比如這只是一個(gè)慣例備份,沒(méi)有做什么特別的修改),那么我們就如之前那樣繼續(xù)操作。

然而,如果提供了注釋,那么它會(huì)被附加到 zip 歸檔名,就在.zip 擴(kuò)展名之前。注意我們把注釋中的空格替換成下劃線——這是因?yàn)樘幚磉@樣的文件名要容易得多。