一、程序介绍:

需求:

支持多用户在线的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 #客户端执行文件


二、流程图

Python实现FTP




三、代码

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

相关文章:

  • 2022-12-23
  • 2022-01-01
  • 2021-09-04
  • 2022-12-23
  • 2021-12-02
  • 2021-11-22
  • 2021-12-09
猜你喜欢
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
  • 2021-10-09
  • 2021-08-11
相关资源
相似解决方案