第三模块:面向对象&网络编程基础 第4章 FTP项目作业讲解
2024-08-25 08:31:41
- 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
最新文章
- XF custom render 各平台实现类
- Expert 诊断优化系列------------------语句调优三板斧
- jdbc中c3p0的配置信息
- .Net Oauth2.0 第三方登录开发(Facebook ,LinkedIn )
- Java递归实现操作系统文件的复制、粘贴和删除功能
- Linux学习之七——乱码的解决方案
- arcgis下载
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- 数字操作 转为false的类型 typeof操作符 isNaN函数
- 深入解析java String中getBytes()的编码问题
- 只需要一点点C++基础,新手也可以制作单机游戏内存修改器
- iOS ipa包瘦身------删除无用图片资源
- 内部类访问局部变量为什么必须要用final修饰
- Spark思维导图之Shuffle
- CSS魔法堂:Flex布局
- JS打开新窗口防止被浏览器阻止的方法
- asp.net 获取网站根地址
- 安装二维码、条形码识别工具zbar
- 九度OJ 1067 n的阶乘 (模拟)
- git项目,VSCode显示不同颜色块的含义
热门文章
- iOS一个很好的内存检测工具
- 关于$NOIP2017$的题目讲解
- oracle之DQL
- 『ACM C++』 PTA 天梯赛练习集L1 | 050-51
- HDU 2065 ";红色病毒";问题(生成函数)
- 分布式网上商城项目-solr搜索功能错误
- Elasticsearch 索引操作
- 学习新框架laravel4 第一天(- -! 新公司版本使用的4,所以还要重新学习)
- Centos7 Redis3.0 集群搭建备忘
- N个点中寻找多个最近两点的计算O(N²)