一、Python一秒搭建ftp服务器,在局域网共享文件
一行代码开启共享文件
Python自带了一个HTTP Server,可以使用这个模块用一行代码完成文件的局域网共享。
首先进入需要设置的http服务器目录 (如电脑路径:F:\webfiles) ,即进入到该目录下,然后:
python -m http.server 8080
用8080的端口启动服务,最终的浏览器打开即可下载文件。
二、安装第三方模块实现
pip install pyftpdlib
1、安装后简单web使用
python -m pyftpdlib -p 8081
### 可选参数
# `-i` 指定IP地址(默认为本机的IP地址)
# `-p` 指定端口(默认为`2121`)
# `-w` 写权限(默认为只读)
# `-d` 指定目录 (默认为当前目录)
# `-u` 指定用户名登录
# `-P` 设置登录密码
浏览器打开 ftp://127.0.0.1:8081/
2、高级使用,可以使用ftp客户端打开
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# 实例化DummyAuthorizer来创建ftp用户
authorizer = DummyAuthorizer()
# 参数:用户名,密码,目录,权限
authorizer.add_user('user', '12345', 'F:/PN5', perm='elradfmwMT')
# 匿名登录
# authorizer.add_anonymous('/home/nobody')
handler = FTPHandler
handler.authorizer = authorizer
# 参数:IP,端口,handler
server = FTPServer(('0.0.0.0', 21), handler)
server.serve_forever()
#可以使用xftp访问了
注: 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文档:pyftpdlib.readthedocs.io/en/latest/i…