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服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02Python编程基础
- 2024-11-01Python 基础教程
- 2024-11-01用Python探索可解与不可解方程的问题
- 2024-11-01Python编程入门指南
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南