日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python作业:高级FTP程序

發布時間:2023/12/1 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python作业:高级FTP程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

要求:

  • 用戶加密認證
  • 允許同時多用戶登錄
  • 每個用戶有自己的家目錄 ,且只能訪問自己的家目錄
  • 對用戶進行磁盤配額,每個用戶的可用空間不同
  • 允許用戶在ftp server上隨意切換目錄
  • 允許用戶查看當前目錄下文件
  • 允許上傳和下載文件,保證文件一致性
  • 文件傳輸過程中顯示進度條
  • 附加功能:支持文件的斷點續傳
  • ?

    ?

    程序流程圖:

    ?

    程序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值不改變。

  • get 下載文件

    ?

  • 語法: 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

    ?鏈接: https://pan.baidu.com/s/1ggSgW75 密碼: scgf

    ?

    以上僅為參考,希望不要照抄。

    轉載于:https://www.cnblogs.com/mstzkot/p/7765773.html

    總結

    以上是生活随笔為你收集整理的python作业:高级FTP程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。