有时需要在局域网传输文件,总是要用U盘传输,要是多个人都需要同样的文件,U盘就有点麻烦了,Windows上的文件共享配置步骤很少,但是经常因为各种原因失败,又要检查来检查去的。于是考虑到通过FTP协议来传输文件,但是出名的FTP服务器软件类似Serv-U 这种,功能是很强大,但是配置也很多,我只是临时传输下文件,希望可以免安装,一键启动FTP,一键关闭FTP。于是就想使用python实现FTP服务器,再打包成exe文件。
开发环境:
win 7 64位,Python 3.6.2,pyftpdlib,wxpython,pyinstaller 3.3.1
具体思路:
通过pyftpdlib库实现FTP 功能ftpserver.py,使用wxpython实现GUI界面wxgui.py,在wxgui.py上生成配置文件config.ini,ftpserver.py再获取config.ini中的信息启动FTP,最后使用pyinstaller打包成exe可执行文件。
软件截图:
不过刚开发好的软件,应该有挺多BUG的,以后使用过程中再慢慢改进。
打开软件:
选择FTP目录:
启动FTP:
具体源代码:
实现FTP功能代码ftpserver.py:
# coding:utf-8
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import logging
import configparser
import os
def ftpd():
authorizer = DummyAuthorizer()
if getconfig(‘anonymous‘)==‘True‘:
#添加匿名用户
authorizer.add_anonymous(getconfig(‘dir‘),perm=‘elradfmwM‘)
else:
#添加用户,需要账号和密码登录
authorizer.add_us