python作業:進階FTP程式,python作業ftp
要求:
程式流程圖:
程式Readme:
MiniFTP主要是由三部分組成:伺服器端、用戶端、管理端。本文主要就是介紹以上三部分內容。
系統初始配置
管理員帳號
使用者名稱:admin 密碼:password
使用者帳號:
使用者名稱:zhangsan 密碼:123
伺服器位址:
IP:127.0.0.1 Port:8808
伺服器端
伺服器端主要是處於長期運行監控狀態。在調用啟動之後,即無需再次操作。
涉及檔案目錄:
Bin檔案夾:主要是放置的伺服器開機檔案,運行該檔案夾下的start檔案即可啟動伺服器
Core檔案夾:主要存放伺服器程式的核心部分,涉及檔案的作用如下:
heart.py 主要是伺服器與終端的串連方式設定,內部設有相應功能模組
Record.py 此檔案是設定的伺服器log日誌顯示和儲存的形式
Data檔案夾:主要是存放資料,涉及的檔案夾和檔案作用如下:
Conf檔案夾:存放configure.py檔案,此檔案作用是預設參數配置,預設內容如:
此處存放有當前伺服器監控的地址和連接埠,可更改此處來實現實際需要。
另一個較為重要的是管理員的帳號和密碼,此程式暫不支援變更管理員帳號和密碼,但管理員帳號和密碼是由管理員程式使用的,普通使用者程式使用無效。
Docs檔案夾:此檔案夾主要存放的是客戶上傳到伺服器的檔案,存放的原則是按照使用者名稱來建立相應的檔案夾。
Log檔案夾:此檔案夾下存放的是系統日誌,系統運行之後會按照日期產生對應的記錄檔,檔案名稱形式為:年-月-日.txt
Users檔案夾:此檔案夾下存在兩個檔案,一個是Quota.txt,存放的是使用者當前允許使用的配額。一個是UserAuth.txt,存放的是註冊使用者的資訊。
用戶端:
組成:
用戶端部分涉及到的是MiniClient,此檔案夾下主要是有Bin和Core兩個檔案夾組成。
Bin檔案夾下放置程式開始的檔案Start.py;Core檔案夾下放置程式的核心檔案CCore.py
功能:
用戶端主介面如下:
普通使用者主要涉及以下功能:
輸入錯誤的命令會得到相應的命令提示,輸入help也會得到相應的命令提示,但僅為簡單命令提示,
具體命令格式請參考如下說明:
1、 put,上傳檔案
文法: put 檔案名稱
PS. 此處的進度條僅支援在cmd環境下顯示。
檔案上傳支援斷點續傳,即用戶端在上傳期間,出現錯誤導致上傳未完成,再次登入並上傳未完成檔案時,系統會繼續傳輸。前提是檔案MD5值不改變。
文法: 1、 get 原檔案名稱 目標檔案地址和目標檔案名
2、get 原使用者名稱
此處的進度條僅支援在cmd環境下顯示。
不指定下載目錄,則系統自動選擇當前運行檔案夾
提供了目的檔案地址的,會自動下載到指定目錄
2.建立目錄:
文法: mkdir 檔案夾名
3.刪除目錄
文法:rm 檔案夾名/檔案名稱
4.遍曆目前的目錄的相關資訊
文法:ls
5.切換目錄
文法:cd 檔案夾名
若需返回上層目錄,則可以使用 cd ..來進行切換
6.顯示當前所在目錄的資訊
文法:pwd
若需要退出,可直接輸入“bye”退出程式
管理端
組成:
管理端部分涉及到的是MiniAdmin,此檔案夾下主要是有Bin和Core兩個檔案夾組成。
Bin檔案夾下放置程式開始的檔案start.py;Core檔案夾下放置程式的核心檔案ACore.py
功能:
管理員需要使用專用端與伺服器進行通訊,管理員介面顯示的主要功能如下:
1、 註冊使用者
可註冊允許登入ZFTP的普通使用者帳號
2、 刪除使用者
可刪除當前已存在的普通使用者帳號
3、 查看使用者
可查看當前已存在的普通使用者帳號。
4、 修改配額
可修改註冊使用者的空間配額值
5、 退出
退出系統
目前不支援管理員更改自身的使用者名稱和密碼。
已修複BUG
1、 將用戶端連接埠號碼規範至合理範圍(0-65535)。
2、 斷點續傳方面,解決傳輸終端後再次傳輸引起的非正常MD5值不一致問題。
3、 斷點續傳方面,解決用戶端在使用非法檔案替換合法檔案引起MD5值不一致後,再次用合法檔案傳輸仍舊出現MD5不一致的情況。
4、 解決傳輸超過空間限額的檔案時引起的系統崩潰。
附:斷點續傳簡要說明
1、 首先使用用戶端串連至伺服器
2、 上傳檔案並終端用戶端
3、 重新登入伺服器:
4、 重新進行上傳
5、 若上傳檔案名稱一樣但是內容不一樣的檔案,則會報錯:
伺服器報以下提示:
用戶端報以下提示:
代碼連結:
連結:http://pan.baidu.com/s/1pKEXw5X 密碼:xikg
以上僅為參考,希望不要照抄。