python——pyftpdlib 快速搭建ftp服务器
2022/1/12 12:04:17
本文主要是介绍python——pyftpdlib 快速搭建ftp服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python——pyftpdlib 快速搭建ftp服务器
前言
python工具库挺多的,最近想搭建一个ftp服务器,就是分享一下文件而已,功能简单,于是就搜索到了python的工具库——pyftpdlib
安装
pip install pyftpdlib
一行代码使用
python -m pyftpdlib
默认IP为 127.0.0.1 、端口为 2121
参数设置
-i 指定IP地址(默认为本机的IP地址)
-p 指定端口(默认为2121)
-w 写权限(默认为只读)
-d 指定目录 (默认为当前目录)
-u 指定用户名登录
-P 设置登录密码
简单使用
#同时使用pandas读取xlsx文件,配置账号、密码、路径和权限 from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer import pandas as pd #读取用户配置文件,可以用其他格式的文件,请随意 df = pd.read_excel('user.xlsx') # 实例化DummyAuthorizer来创建ftp用户 authorizer = DummyAuthorizer() # 参数:用户名,密码,目录,权限 for index,row in df.iterrows(): authorizer.add_user(row['账户'], row['密码'], row['路径'], perm=row['权限']) #设置一个匿名登录 #authorizer.add_anonymous('/home/nobody') #创建FTPHanddler实例 handler = FTPHandler handler.authorizer = authorizer # 参数:IP,端口,handler server = FTPServer(('0.0.0.0', 8800), handler) server.serve_forever()
直接运行即可使用,方便简单,但是Windows应该会遇到中文乱码的情况,最简单粗暴的方法是把filesystems.py和handlers.py文件里面的‘utf8’直接替换为‘gbk’。
perm权限选项
读取权限:
"e" ——更改目录(CWD,CDUP命令) "l" ——列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令) "r" ——从服务器检索文件(RETR命令)
写入权限:
"a" ——将数据追加到现有文件(APPE命令) "d" ——删除文件或目录(DELE,RMD命令) "f" ——重命名文件或目录(RNFR,RNTO命令) "m" ——创建目录(MKD命令) "w" ——将文件存储到服务器(STOR,STOU命令) "M"——更改文件模式/权限(SITE CHMOD命令) "T"——更改文件修改时间(SITE MFMT命令)
格式就是在 authorizer.add_user(row[‘账户’], row[‘密码’], row[‘路径’], perm=row[‘权限’])里面,perm=‘elradfmwMT’
题外话
python还有一个自带的,可以快速搭建一个http服务器,其实也类似是ftp,可以实现文件共享,一行代码即可搞定,在CMD中输入“python -m http.server 8080”即可开启服务器,可在浏览器下载该目录下的文件,简单粗暴。
这篇关于python——pyftpdlib 快速搭建ftp服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型