• 第三模块:面向对象&网络编程基础 第4章 FTP项目作业讲解


    • 01-FTP项目需求
    • 02-FTP项目框架搭建
    • 03-FTP项目用户认证
    • 04--FTP项目制定标准定长消息头
    • 05-FTP项目下载功能开发
    • 06-FTP项目下载功能开发2
    • 07-FTP项目ls文件列表实现
    • 08-FTP项目目录切换功能
    • 09-FTP项目目录切换之相对路径问题解决
    • 10-FTP项目文件上传功能
    • 11-FTP项目进度条功能开发
    • 12-FTP项目进度条功能优化
    • 13-FTP项目断电续传功能开发
    • 14-FTP项目断电续传功能开发2
    • 15-FTP项目断点续传功能开发3

    01-FTP项目需求

    1、需求分析;

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # __Author__:Administrator
    # Version:Python3.6.5
    # Date:2018/6/23 0023 20:49
    ""
    """
    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。
    需求:
    1、支持用户认证;
    2、支持多用户-存储了多个用户的账户信息;
    3、每个用户有自己的家目录;
    4、用户可以在自己的家目录里面进行目录切换操作;
    5、用户可以查看当前目录的文件列表,文件名、文件大小;
    6、断点续传功能;开发思路:边下载边往本地写,总大小-已经下载的大小,继续写未写的部分;
    get file 
    put file
    进度条显示
    del file
    mkdir dir
    对代码的要求:
    1、设置目录结构;
    2、遵循软件开发规范;
    MadFtp目录结构举例:
        server
            bin
                ftp_server.py
            conf
                settings.py
                    HOST=""
                    PORT= 9000
                    HOME_DIR = "home"
                account.py 
                    #configparser模块;
                    {
                    alex:{
                        password:fdasf,
                        home:/home/tqtl,
                        quotation:400
                    }
                    }
            core|modules|lib
                main.py#程序主逻辑代码
                ......
                ......
            log
                access.log
                #error.log
        client
            mad_client.py -h 192.168.1.23 -p 9999
            username:
            password:
    #把复杂问题简单化思考;  
    #一边写一边调试Server.py;  
    #就得憋出来;要不然凭什么给你十几k薪水;
    #项目会比这个复杂几十倍,难道就不完成了吗? class FTPServer(): def handle(): cmd = data.split()#Get file1 if hasattr(self,cmd) func = getattr(self.cmd) func(cmd) def get(*args,**kwargs) def put(*args,**kwargs) def mkdir(*args,**kwargs)
    """

    02-FTP项目框架搭建

    03-FTP项目用户认证

    04--FTP项目制定标准定长消息头

    05-FTP项目下载功能开发

    06-FTP项目下载功能开发2

    07-FTP项目ls文件列表实现

    08-FTP项目目录切换功能

    09-FTP项目目录切换之相对路径问题解决

    10-FTP项目文件上传功能

    11-FTP项目进度条功能开发

    12-FTP项目进度条功能优化

    13-FTP项目断电续传功能开发

    14-FTP项目断电续传功能开发2

    15-FTP项目断点续传功能开发3

  • 相关阅读:
    svn 如果遇到an unversioned directory of the same name already exists的解决办法
    记一次keepalived脑裂问题查找
    zabbix3.2部署
    mysql配置文件
    CentOS 6.6 搭建Zabbix 3.0.3 过程
    CDN网络原理
    Vmware ESXi 6.5 安装手册
    Out of resources when opening file ‘./xxx.MYD’ (Errcode: 24)解决方法
    MongoDB主从复制,主主复制
    mysql主从复制跳过错误
  • 原文地址:https://www.cnblogs.com/tqtl911/p/9110158.html
Copyright © 2020-2023  润新知