zoukankan      html  css  js  c++  java
  • 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、此次作业完成度未达到预期,遗留了很多问题;实际开发过程中还是很缓慢的,很多知识点运用上不熟练

    六、代码

    后续公布云盘地址

  • 相关阅读:
    后端程序员必备的 Linux 基础知识+常见命令(近万字总结)
    信息收集流程
    在不影响程序使用的情况下添加shellcode
    使用Zolom内存解析运行python脚本(不落地)
    要点3:输入函数对比与自定义输入方式
    要点2:循环、条件控制
    对等连接和云联网
    上传自定义镜像到腾讯云
    Windows 激活
    MySQL错误(报错)一览表(对照表)
  • 原文地址:https://www.cnblogs.com/alvin-jie/p/9186402.html
Copyright © 2011-2022 走看看