# 第10章 解決問題——編寫一個Python腳本
**目錄表**
+ 問題
+ 解決方案
+ 版本一
+ 版本二
+ 版本三
+ 版本四
+ 進一步優化
+ 軟件開發過程
+ 概括
我們已經研究了Python語言的眾多內容,現在我們將來學習一下怎么把這些內容結合起來。我們將設計編寫一個能夠 做 一些確實有用的事情的程序。
我提出的問題是: 我想要一個可以為我的所有重要文件創建備份的程序。
盡管這是一個簡單的問題,但是問題本身并沒有給我們足夠的信息來解決它。進一步的**分析**是必需的。例如,我們如何確定該備份哪些文件?備份保存在哪里?我們怎么樣存儲備份?
在恰當地分析了這個問題之后,我們開始**設計**我們的程序。我們列了一張表,表示我們的程序應該如何工作。對于這個問題,我已經創建了下面這個列表以說明 我 如何讓它工作。如果是你設計的話,你可能不會這樣來解決問題——每個人都有其做事的方法,這很正常。
1. 需要備份的文件和目錄由一個列表指定。
2. 備份應該保存在主備份目錄中。
3. 文件備份成一個zip文件。
4. zip存檔的名稱是當前的日期和時間。
5. 我們使用標準的**zip**命令,它通常默認地隨Linux/Unix發行版提供。Windows用戶可以使用Info-Zip程序。注意你可以使用任何地存檔命令,只要它有命令行界面就可以了,那樣的話我們可以從我們的腳本中傳遞參數給它。
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第1章 介紹
- Python的特色
- 為什么不使用Perl?
- 程序員的話
- 第2章 安裝Python
- Windows?用戶
- 概括
- 第3章 最初的步驟
- 使用帶提示符的解釋器
- 挑選一個編輯器
- 使用源文件
- 可執行的Python程序
- 獲取幫助
- 概括
- 第4章 基本概念
- 數
- 字符串
- 變量
- 標識符的命名
- 數據類型
- 對象
- 邏輯行與物理行
- 縮進
- 概括
- 第5章 運算符與表達式
- 運算符
- 運算符優先級
- 表達式
- 概括
- 第6章 控制流
- if語句
- while語句
- for循環
- break語句
- continue語句
- 概括
- 第7章 函數
- 函數形參
- 局部變量
- 默認參數值
- 關鍵參數
- return語句
- DocStrings
- 概括
- 第8章 模塊
- 字節編譯的.pyc文件
- from..import語句
- 模塊的name
- 制造你自己的模塊
- dir()函數
- 概括
- 第9章 數據結構
- 列表
- 元組
- 字典
- 序列
- 參考
- 更多字符串的內容
- 概括
- 第10章 解決問題——編寫一個Python腳本
- 解決方案
- 軟件開發過程
- 概括
- 第11章 面向對象的編程
- self
- 類
- 對象的方法
- __init__方法
- 類與對象的方法
- 繼承
- 概括
- 第12章 輸入/輸出
- 儲存器
- 概括
- 第13章 異常
- try..except
- 引發異常
- try..finally
- 概括
- 第14章 Python標準庫
- sys模塊
- os模塊
- 概括
- 第15章 更多Python的內容
- 單語句塊
- 列表綜合
- 在函數中接收元組和列表
- lambda形式
- exec和eval語句
- assert語句
- repr函數
- 概括
- 第16章 接下來學習什么?
- 探索更多內容
- 概括
- 附錄A 自由/開放源碼軟件(FLOSS)
- 附錄B 關于本書
- 關于作者
- 關于譯者
- 關于簡體中文譯本
- 附錄C 修訂記錄
- 術語表