當你想快速共享一個目錄的時候,這是特別有用的,只需要1行代碼即可實現。
淮濱網站制作公司哪家好,找成都創新互聯!從網頁設計、網站建設、微信開發、APP開發、自適應網站建設等網站項目制作,到程序開發,運營維護。成都創新互聯從2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯。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命令)
分享標題:1行Python代碼快速實現FTP服務器
分享地址:http://vcdvsql.cn/article14/dssge.html
成都網站建設公司_創新互聯,為您提供軟件開發、網站維護、用戶體驗、全網營銷推廣、Google、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯