手把手教你用1行Python代码实现FTP服务器 -- Pyftpdlib
2018-01-02 08:45
816 查看
摘要: 当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。
当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。
FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。
Windows / Linux
在需要共享的目录下执行如下命令即可把当前目录共享出去(匿名登录)
至此一个简单的FTP服务器已经搭建完成,访问
(默认IP为
写入权限:
当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。
FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。
环境要求
Python 2.7Windows / Linux
环境搭建
pip install pyftpdlib
一行代码实现FTP服务器
通过Python的-m选项作为一个简单的独立服务器来运行,当你想快速共享一个目录的时候,这是特别有用的。
在需要共享的目录下执行如下命令即可把当前目录共享出去(匿名登录)
python -m pyftpdlib
至此一个简单的FTP服务器已经搭建完成,访问
ftp://127.0.0.1:2121即可
(默认IP为
127.0.0.1、端口为
2121)
可选参数
-i指定IP地址(默认为本机的IP地址)
-p指定端口(默认为
2121)
-w写权限(默认为只读)
-d指定目录 (默认为当前目录)
-u指定用户名登录
-P设置登录密码
简单示例
上述的一行命令已经可以实现一个简单的FTP服务器,但是要搭建一个功能强大完善的FTP服务所涉及到的配置较多,这时需要使用Pyftpdlib提供的 API 来编写。如下是一个简单的示例from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer # 实例化DummyAuthorizer来创建ftp用户 authorizer = DummyAuthorizer() # 参数:用户名,密码,目录,权限 authorizer.add_user('user', '12345', '/opt/pyftp/test', perm='elradfmwMT') # 匿名登录 # authorizer.add_anonymous('/home/nobody') handler = FTPHandler handler.authorizer = authorizer # 参数:IP,端口,handler server = FTPServer(('192.168.56.100', 21), handler) server.serve_forever()
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命令)
参考
Pyftpdlib文档:http://pyftpdlib.readthedocs.io/en/latest/index.html相关文章推荐
- 1行Python代码实现FTP服务器
- 1行Python代码快速实现FTP服务器
- 400多行Python代码实现了一个FTP服务器
- 手把手教你用1行代码实现人脸识别 -- Python Face_recognition
- 1 行 Python 代码快速实现 FTP 服务器
- 400多行Python代码实现了一个FTP服务器
- 00多行Python代码实现了一个FTP服务器
- 手把手教你用1行代码实现人脸识别 -- Python Face_recognition
- 手把手教你用1行代码实现人脸识别 --Python Face_recognition
- 手把手教你用1行代码实现人脸识别 -- Python Face_recognition
- 不写代码,使用twistd实现ftp服务器
- FTP服务器文件上传的代码实现
- Ajax与Python服务器交互,在网页实现简单的Python3代码的运行
- 代码笔记 | 一个用python实现的简单的文件服务器
- Python 1行代码实现文本分类(实战笔记),含代码详细说明及运行结果
- 手把手教你用1行代码实现人脸识别 -- Python Face_recognition
- 用Python实现定时备份Mongodb数据,并上传到FTP服务器
- python实现FTP服务器服务的方法
- Java实现FTP服务器功能实例代码
- Linux实现文件上传ftp服务器脚本代码