• 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

05-07 15:43