一、程序介绍:
需求:
支持多用户在线的FTP程序
要求:
1、用户加密认证
2、允许同时多用户登录
3、每个用户有自己的家目录 ,且只能访问自己的家目录
4、对用户进行磁盘配额,每个用户的可用空间不同
5、允许用户在ftp server上随意切换目录
6、允许用户查看当前目录下文件
7、允许上传和下载文件,保证文件一致性
8、文件传输过程中显示进度条
9、附加功能:支持文件的断点续传
实现功能:
用户加密认证
允许同时多用户登录
每个用户有自己的家目录 ,且只能访问自己的家目录
允许上传和下载文件,保证文件一致性
文件传输过程中显示进度条
程序结构:
FTP服务端
FtpServer #服务端主目录
├── bin #启动目录
│ └── ftp_server.py #启动文件
├── conf #配置文件目录
│ ├── accounts.cfg #用户存储
│ └── settings.py #配置文件
├── core #程序主逻辑目录
│ ├── ftp_server.py #功能文件
│ └── main.py #主逻辑文件
├── home #用户家目录
│ ├── test001 #用户目录
│ └── test002 #用户目录
└── log #日志目录
FTP客户端
FtpClient #客户端主目录
└── ftp_client.py #客户端执行文件
二、流程图

三、代码
FtpServer
bin/ftp_server.py
![]()
1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3
4 import os
5 import sys
6
7 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
8 sys.path.append(BASE_DIR)
9
10 from core import main
11
12 if __name__ == '__main__':
13 main.ArvgHandler()
View Code
conf/accounts.cfg
![]()
1 [DEFAULT]
2
3 [test001]
4 Password = 123
5 Quotation = 100
6
7 [test002]
8 Password = 123
9 Quotation = 100
View Code