學習了大約快一個月的python,現在開始有意識做一些項目。(我的新書《Python爬蟲開發與項目實戰》出版了,大家可以看一下樣章)
據我了解,python現在更多的是用於自動化運維方面,例如做一些服務器上審計堡壘機,分布式監控,還有做web的后台開發。
今天想在實驗室搭建一個ftp服務器,用來分享一些資料,於是就想到了利用python來進行開發。
ftp服務器的本質還是利用socket編程來實現,只不過遵循特定的協議而已,我查了一下協議是RFC959。
當然為了不重復造輪子,先看看有沒有開源的lib,百度一下找到了pyftpdlib這個庫,查看了一下這個庫,發現代碼量並不大,之后的博客打算進行源碼分析。
不過現在當然是快速的使用。
首先當然是安裝pyftpdlib,學過python的肯定知道使用 pip install pyftpdlib來安裝。然后看了一些這個庫的說明文檔,就可以寫代碼了,也就15行左右。
我使用的工具是pycharm,下面把代碼附在下面有詳細的注釋。
#coding:utf-8
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
#新建一個用戶組
authorizer = DummyAuthorizer()
#將用戶名,密碼,指定目錄,權限 添加到里面
authorizer.add_user("fan", "root", "D:/", perm="elr")#adfmw
#這個是添加匿名用戶,任何人都可以訪問,如果去掉的話,需要輸入用戶名和密碼,可以自己嘗試
authorizer.add_anonymous("D:/")
handler = FTPHandler
handler.authorizer = authorizer
#開啟服務器
server = FTPServer(("127.0.0.1", 21), handler)
server.serve_forever()
然后將程序運行起來,接下來看一下效果,在瀏覽器上ftp://localhost/

nice,只要大家在同一個局域網之內就可以分享了.
今天就到此為止,下一期對這個庫進行源碼分析,敬請期待
