• python作业:FTP程序


    要求:

    1. 用户加密认证
    2. 允许同时多用户登录
    3. 每个用户有自己的家目录 ,且只能访问自己的家目录
    4. 对用户进行磁盘配额,每个用户的可用空间不同(未做)
    5. 允许用户在ftp server上随意切换目录
    6. 允许用户查看当前目录下文件
    7. 允许上传和下载文件,保证文件一致性
    8. 文件传输过程中显示进度条
    9. 附加功能:支持文件的断点续传(未实现)

    拓扑图:

    设计说明:

    服务器端

    服务器端主要是处于长期运行监控状态。在调用启动之后,即无需再次操作。

    涉及文件目录:

     

    Bin文件夹:主要是放置的服务器启动文件,运行改文件夹下的start文件即可启动服务器

    Core文件夹:主要存放服务器程序的核心部分,涉及文件的作用如下:

                  Classet.py   主要是服务器与终端的连接方式设定,内部设有相应功能模块

                  Loger.py    此文件是设定的服务器log日志显示和存储的形式

    Data文件夹:主要是存放数据,涉及的文件夹和文件作用如下:

    Config文件夹:存放configure.py文件,此文件作用是默认参数配置,默认内容如下图:

     

    此处存放有当前服务器监控的地址和端口,可更改此处来实现实际需要。

    另一个较为重要的是管理员的账号和密码,此程序暂不支持更改管理员账号和密码,但管理员账号和密码是由管理员程序使用的,普通用户程序使用无效。

    Document文件夹:此文件夹主要存放的是客户上传到服务器的文件,存放的原则是按照用户名来创建相应的文件夹。

    Log文件夹:此文件夹下存放的是系统日志,系统运行之后会生成一个sys.txt

    Usermsg文件夹:存放的是注册用户的相关信息

    客户端:

    普通用户部分(user文件夹)

           测试用户 li  密码  123

    1. 普通用户主要涉及以下功能:

    首先输入错误的命令会得到相应的命令提示,输入help也会得到相应的命令提示,但仅为简单命令提示,具体命令格式请参考如下说明:

    1、 put,上传文件


    语法: put 文件名

    PS. 此处的进度条仅支持在cmd环境下显示。

    2、get 下载文件

     

    语法: 1、 get 原文件名  目标文件地址和目标文件名

              2、get 原用户名

    此处的进度条仅支持在cmd环境下显示。

    PS.某些系统不允许读写系统所在盘符,因此工作目录是在C盘根目录时,可能会出现如下错误:

     

    不写目的文件路径的话,默认下载至用户的工作目录。

    3、创建目录:

     

    语法: mkdir 文件夹名

    4、删除目录

    语法:rm 文件夹名/文件名

          

    5、遍历当前目录的相关信息

     

     语法:ls

    6、切换目录

    语法:cd 文件夹名

    若需返回上层目录,则可以使用 cd ..来进行切换

    7、显示当前所在目录的信息

     

    语法:pwd

          

    若需要退出,可直接输入“q”退出程序

    管理员部分(admin文件夹)

    管理员需要使用专用客户端与服务器进行通信,管理员界面显示的主要功能如下:

     

    1、 注册用户

    可注册允许登录ZFTP的普通用户账号

    2、 删除用户

    可删除当前已存在的普通用户账号

    3、 查看用户

    可查看当前已存在的普通用户账号。

    4、退出系统

    职讲师信息

    目前不支持管理员更改自身的用户名和密码。

    客户端文件架构

     

    客户端主要由admin和user两个文件夹组成,两个文件夹可单独分开,普通用户仅需要接触user文件夹即可。

    两个文件夹内存放文件一致,主要是main.py主体文件和**_start.py启动文件,

    main.py 为客户端主体程序

    **_start.py为各自的启动程序

    运行时候运行**_start.py即可进入客户端。如下图所示:

     

    已作废

    代码链接:http://pan.baidu.com/s/1miC8I8K 密码:f45j

    请移步:

    http://www.cnblogs.com/mstzkot/p/7765773.html

  • 相关阅读:
    ELM学习
    《进化》从孤胆极客到高效团队
    《人件》《PeopleWare》 【美】Tom DeMarco TimothyLister 著 肖然 张逸 滕云 译
    《进化》从孤胆极客到高效团队---Notes1
    大数据第一部分LInux学习Note1
    C#Windows窗体初学
    C#初学笔记(Windows编程的基本概念)
    C#学习2017-9-26(读取文本文件和读取二进制文件)Notes9
    C#学习2017-9-26Notes8(文件和流,FileStream类)
    C#学习笔记Notes8(接口,接口实现,程序集,命名空间,using)
  • 原文地址:https://www.cnblogs.com/mstzkot/p/7475148.html
Copyright © 2020-2023  润新知