?摘要: 當(dāng)你想快速共享一個(gè)目錄的時(shí)候,這是特別有用的,只需要1行代碼即可實(shí)現(xiàn)。
當(dāng)你想快速共享一個(gè)目錄的時(shí)候,這是特別有用的,只需要1行代碼即可實(shí)現(xiàn)。
FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來(lái)搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡(jiǎn)單的方法即可實(shí)現(xiàn)FTP服務(wù)器的功能。
環(huán)境要求
- Python 2.7
- Windows / Linux
環(huán)境搭建
一行代碼實(shí)現(xiàn)FTP服務(wù)器
通過(guò)Python的-m選項(xiàng)作為一個(gè)簡(jiǎn)單的獨(dú)立服務(wù)器來(lái)運(yùn)行,當(dāng)你想快速共享一個(gè)目錄的時(shí)候,這是特別有用的。
在需要共享的目錄下執(zhí)行如下命令即可把當(dāng)前目錄共享出去(匿名登錄)
至此一個(gè)簡(jiǎn)單的FTP服務(wù)器已經(jīng)搭建完成,訪問(wèn) ftp://127.0.0.1:2121 即可
(默認(rèn)IP為 127.0.0.1 、端口為 2121 )
可選參數(shù)
- -i 指定IP地址(默認(rèn)為本機(jī)的IP地址)
- -p 指定端口(默認(rèn)為2121)
- -w 寫權(quán)限(默認(rèn)為只讀)
- -d 指定目錄 (默認(rèn)為當(dāng)前目錄)
- -u 指定用戶名登錄
- -P 設(shè)置登錄密碼
簡(jiǎn)單示例
上述的一行命令已經(jīng)可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的FTP服務(wù)器,但是要搭建一個(gè)功能強(qiáng)大完善的FTP服務(wù)所涉及到的配置較多,這時(shí)需要使用Pyftpdlib提供的 API 來(lái)編寫。如下是一個(gè)簡(jiǎn)單的示例
perm權(quán)限選項(xiàng)
讀取權(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" =將文件存儲(chǔ)到服務(wù)器(STOR,STOU命令)
- "M"=更改文件模式/權(quán)限(SITE CHMOD命令)
- "T"=更改文件修改時(shí)間(SITE MFMT命令)
參考
Pyftpdlib文檔:http://pyftpdlib.readthedocs.io/en/latest/index.html
總結(jié)
以上所述是小編給大家介紹的1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

