第三模块:面向对象&网络编程基础 第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
“终身”学习,生活充满诗意!