如果你想迅速共享资源一个文件目录的情况下,它是尤其有效的,只必须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=FTPHandlerhandler.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指令)