Python 中的 FTP 協議客戶端


最重要的 ftplib 模組中的 FTP 類實現了 FTP 協議的客戶端。

要與 FTP 伺服器建立連線,請獲取 FTP 物件。

con=FTP(hostname)

FTP 類支援以下方法:

connect()

連線到給定的主機和埠。預設埠號為 21,如 FTP 協議規範中所指定。

getwelcome()

返回伺服器在響應初始連線時傳送的歡迎訊息。

login(user='anonymous', passwd='', acct='')

以給定使用者身份登入。passwd 和 acct 引數是可選的,預設為空字串。如果未指定使用者,則預設為“anonymous”。如果使用者為“anonymous”,則預設 passwd 為“anonymous@”。

abort()

中止正在進行的檔案傳輸。

retrbinary(cmd, callback, blocksize=8192, rest=None)

以二進位制傳輸模式檢索檔案。cmd 應為適當的 RETR 命令:“RETR filename”。

Storbinary()

以二進位制傳輸模式儲存檔案。cmd 應為適當的 STOR 命令:“STOR filename”。fp 是一個檔案物件(以二進位制模式開啟),使用其 read() 方法讀取直到 EOF。

dir()

生成 LIST 命令返回的目錄列表,並將其列印到標準輸出。

delete(filename)

從伺服器刪除名為 filename 的檔案。

cwd(pathname)

設定伺服器上的當前目錄。

mkd(pathname)

在伺服器上建立一個新目錄。

FTP.pwd()

返回伺服器上當前目錄的路徑名。

rmd(dirname)

刪除伺服器上名為 dirname 的目錄。

size(filename)

請求伺服器上名為 filename 的檔案的大小。如果成功,則檔案大小將作為整數返回,否則返回 None。請注意,SIZE 命令未標準化,但許多常見的伺服器實現都支援它。

Quit()

向伺服器傳送 QUIT 命令並關閉連線。

以下示例使用匿名連線建立與伺服器的連線,將檔案下載到本地資料夾並上傳本地檔案。

from ftplib import FTP
import os
def downloadFile():
   filename = 'README.MIRRORS'
   localfile = open(filename, 'wb')
   ftp.retrbinary('RETR ' + filename, localfile.write, 1024)
   ftp.quit()
   localfile.close()
def uploadFile():
   filename = '/home/malhar/file.txt'
   ftp.storbinary('STOR '+filename, open(filename, 'rb'))
   ftp.quit()
with FTP("ftp1.at.proftpd.org") as ftp:
   ftp.login()
   ftp.getwelcome()
   ftp.dir()
   downloadFile()
   uploadFile()

更新於: 2019-07-30

899 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告