當(dāng)你想快速共享一個目錄的時候,這是特別有用的,只需要1行代碼即可實現(xiàn)。
淮濱網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實現(xiàn)FTP服務(wù)器的功能。
環(huán)境要求
Python 2.7Windows / Linux
環(huán)境搭建
pip install pyftpdlib
一行代碼實現(xiàn)FTP服務(wù)器
通過Python的-m選項作為一個簡單的獨立服務(wù)器來運行,當(dāng)你想快速共享一個目錄的時候,這是特別有用的。
在需要共享的目錄下執(zhí)行如下命令即可把當(dāng)前目錄共享出去(匿名登錄)
python -m pyftpdlib
至此一個簡單的FTP服務(wù)器已經(jīng)搭建完成,訪問 ftp://127.0.0.1:2121 即可
(默認IP為 127.0.0.1 、端口為 2121 )
可選參數(shù)
-i 指定IP地址(默認為本機的IP地址)
-p 指定端口(默認為2121)
-w 寫權(quán)限(默認為只讀)
-d 指定目錄 (默認為當(dāng)前目錄)
-u 指定用戶名登錄
-P 設(shè)置登錄密碼
簡單示例
上述的一行命令已經(jīng)可以實現(xiàn)一個簡單的FTP服務(wù)器,但是要搭建一個功能強大完善的FTP服務(wù)所涉及到的配置較多,這時需要使用Pyftpdlib提供的 API 來編寫。如下是一個簡單的示例
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# 實例化DummyAuthorizer來創(chuàng)建ftp用戶
authorizer = DummyAuthorizer()
# 參數(shù):用戶名,密碼,目錄,權(quán)限
authorizer.add_user('user', '12345', '/opt/pyftp/test', perm='elradfmwMT')
# 匿名登錄# authorizer.add_anonymous('/home/nobody')
handler = FTPHandlerhandler.authorizer = authorizer
# 參數(shù):IP,端口,handler
server = FTPServer(('192.168.56.100', 21), handler)
server.serve_forever()
perm權(quán)限選項
讀取權(quán)限:
"e" =更改目錄(CWD,CDUP命令)
"l" =列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令)
"r" =從服務(wù)器檢索文件(RETR命令)
寫入權(quán)限:
"a" =將數(shù)據(jù)追加到現(xiàn)有文件(APPE命令)
"d" =刪除文件或目錄(DELE,RMD命令)
"f" =重命名文件或目錄(RNFR,RNTO命令)
"m" =創(chuàng)建目錄(MKD命令)
"w" =將文件存儲到服務(wù)器(STOR,STOU命令)
"M"=更改文件模式/權(quán)限(SITE CHMOD命令)
"T"=更改文件修改時間(SITE MFMT命令)
分享標題:1行Python代碼快速實現(xiàn)FTP服務(wù)器
分享地址:http://jinyejixie.com/article14/dssge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站維護、用戶體驗、全網(wǎng)營銷推廣、Google、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)