• python-FTP程序


    一、要求:

    用户加密认证
    允许同时多用户登录
    每个用户有自己的家目录 ,且只能访问自己的家目录
    对用户进行磁盘配额,每个用户的可用空间不同
    允许用户在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、此次作业完成度未达到预期,遗留了很多问题;实际开发过程中还是很缓慢的,很多知识点运用上不熟练

    六、代码

    后续公布云盘地址

  • 相关阅读:
    Vue学习-Day1
    Shell脚本学习
    Linux基础
    C# int.Parse()、int.TryParse()与Convert.ToInt32()的区别
    windows下跑python flask,环境配置
    linq性能剖析
    servicestack操作redis
    程序员福利各大平台免费接口非常适用
    ASP.NET下跨应用共享Session和使用Redis进行Session托管简介
    Web Farm和Web Garden的区别
  • 原文地址:https://www.cnblogs.com/alvin-jie/p/9186402.html
Copyright © 2020-2023  润新知