搭建 FTP 服务器
参考链接:使用python快速搭建FTP服务器
1.安装 pyftpdlig
pip install pyftpdlib
2.使用pyftpdlib搭建一个服务器 server.py
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("test","12345",".",perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("172.17.209.100",21),handler)
server.serve_forever()
代码说明:
(1)authorizer.add_user(“test”,“12345”,“.”,perm=“elradfmw”)
用来创建 FTP服务器的用户名、密码、目录位置和权限。
这里设置的目录位置为当前目录,即为 ‘.’
这里的权限设置为全权限
(2)server = FTPServer((“172.17.209.100”,21),handler)
主要是用来设置 FTP 服务器的 IP地址和端口号,这里172.17.209.100是本机地址。
3.运行程序
4.登录服务器
(1)方法1
在网址中输入:ftp://172.17.209.100/,可以登录服务器
注意:用IE浏览器,其他浏览器可能打不开
输入用户名和密码后可以登录看到
(2)方法2
也可以用File Zila等同类型软件测试
编写FTP客户端程序
参考链接:python --搭建FTP服务器
前期工作:
创建两个文件夹,一个client,一个server,分别在文件夹下创建 .py文件
然后尝试两个文件夹之前的数据传输
1.上传文件到服务器
from ftplib import FTP
#登陆FTP
ftp = FTP(host='172.17.209.100',user='test',passwd='12345')
#设置编码方式,由于在windows系统,设置编码为gbk
ftp.encoding = 'gbk'
#上传文件 2.py服务器端文件名为 2.py
ftp.storbinary('STOR 2.py', open('2.py', 'rb'))
查看服务器可以看见多了一个 2.py文件
2.从服务器下载文件
from ftplib import FTP
#登陆FTP
ftp = FTP(host='172.17.209.100',user='test',passwd='12345')
#设置编码方式,由于在windows系统,设置编码为gbk
ftp.encoding = 'gbk'
# 切换目录
ftp.cwd('.')
#列出文件夹的内容
ftp.retrlines('LIST')
#下载文件 server.py
ftp.retrbinary('RETR server.py', open('server.py', 'wb').write)
查看客户端从服务器下载下来了一个 server.py文件