python-FTP程式

來源:互聯網
上載者:User

標籤:一致性   知識   read   服務   目錄檔案   get   set   目錄   命令   

一、要求:

使用者加密認證
允許同時多使用者登入
每個使用者有自己的家目錄 ,且只能訪問自己的家目錄
對使用者進行磁碟配額,每個使用者的可用空間不同
允許使用者在ftp server上隨意切換目錄
允許使用者查看目前的目錄下檔案
允許上傳和下載檔案,保證檔案一致性
檔案傳輸過程中顯示進度條
附加功能:支援檔案的斷點續傳(僅下載)

二、目錄結構:

.
├── FTP #ftp程式
││
│  ├── bin # 可執行程式入口目錄
│  │   ├── __init__.py
│  │   └── start.py # 主邏輯檔案+啟動入口
│ ├── conf # 設定檔目錄
│  │   ├── __init__.py
││└── settints.py # 設定檔目錄
││
│├── core# 主程式目錄
││├── __init__.py
││├──manager.py # manager 類
││├── client.py# 用戶端 類
││├── server.py# 服務端 類
││└──utilities_module.py# 公用模組 (登入驗證、使用者檔案序列化)
│├── database# 使用者資訊資料存放目錄
││├── admin.json # 管理使用者資料
││└── xxx.json# xxx使用者資訊資料目錄
│├── home # 家目錄--存放使用者檔案
││├── wenjie
││└── alex # 使用者檔案--
││
│└── server_data # 服務端資料檔案目錄
│├── share
│└── upload
└── README


三、流程、程式(請見附件)

四、程式運行事項
1、運行 server.py 後再運行 start.py
2、管理員:admin 123 {"name": "admin", "password": "202cb962ac59075b964b07152d234b70"}
3、使用者wenjie 123 {"username": "wenjie", "password": "202cb962ac59075b964b07152d234b70", "Size": "10M"}
alex 123 {"username": "alex", "password": "202cb962ac59075b964b07152d234b70", "Size": "10M"}
4、命令協助:

ls --列印目前的目錄(ls後面參數,直接列印目前的目錄檔案)
cd --切換目錄 (cd 後面必須接目錄參數:xxx使用者\XXX檔案)
mkdir --建立檔案夾(mkdir 接目錄名)
get -- 下載 (get 接目標檔案目錄:server_data\檔案)
put -- 上傳 (put 檔案-server_data\目錄)
quit --返回上級



五、總結

1、功能大部分基本實現、多使用者並發、斷點續傳未實現
2、此次作業完成度未達到預期,遺留了很多問題;實際開發過程中還是很緩慢的,很多知識點運用上不熟練

 

六、代碼

後續公布雲端硬碟地址

python-FTP程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.