Python——連線ftp操作
阿新 • • 發佈:2018-11-09
# FTP操作
import ftplib
f = ftplib.FTP(host) # 例項化FTP物件
f.login(username, password) # 登入
def ftp_download():
'''以二進位制形式下載檔案'''
file_remote = '1.txt'
file_local = 'D:\\test_data\\ftp_download.txt'
bufsize = 1024 # 設定緩衝器大小
fp = open(file_local, 'wb')
f.retrbinary('RETR %s' % file_remote, fp.write, bufsize)
fp.close()
def ftp_upload():
'''以二進位制形式上傳檔案'''
file_remote = 'ftp_upload.txt'
file_local = 'D:\\test_data\\ftp_upload.txt'
bufsize = 1024 # 設定緩衝器大小
fp = open(file_local, 'rb')
f.storbinary('STOR ' + file_remote, fp, bufsize)
fp. close()
ftp_download()
ftp_upload()
f.quit()
- login(user=‘anonymous’,passwd=’’, acct=’’) 登入 FTP 伺服器,所有引數都是可選的
- pwd() 獲得當前工作目錄
- cwd(path) 把當前工作目錄設定為 path 所示的路徑
- dir ([path[,…[,cb]]) 顯示 path 目錄裡的內容,可選的引數 cb 是一個回撥函式,會傳遞給 - —retrlines()方法
- nlst ([path[,…]) 與 dir()類似, 但返回一個檔名列表,而不是顯示這些檔名
- retrlines(cmd [, cb]) 給定 FTP命令(如“ RETR filename”),用於下載文字檔案。可選的回撥函式 cb 用於處理檔案的每一行
- retrbinary(cmd,cb[,bs=8192[, ra]]) 與 retrlines()類似,只是這個指令處理二進位制檔案。回撥函式 - cb 用於處理每一塊(塊大小預設為 8KB)下載的資料
- storlines(cmd, f) 給定 FTP 命令(如“ STOR filename”),用來上傳文字檔案。要給定一個檔案物件 f
- storbinary(cmd, f,[,bs=8192]) 與 storlines()類似,只是這個指令處理二進位制檔案。要給定一個檔案物件 f,上傳塊大小 bs 預設為 8KB
- rename(old, new) 把遠端檔案 old 重新命名為 new
- delete(path) 刪除位於 path 的遠端檔案
- mkd(directory) 建立遠端目錄
- rmd(directory) 刪除遠端目錄
- quit() 關閉連線並退出