Python——FTP上傳和下載
阿新 • • 發佈:2018-12-25
def 上傳 lib user 下載 文件名 span txt 回調
一、FTP對象方法說明
- 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() 關閉連接並退出
二、代碼
# FTP操作 import ftplib host = ‘192.168.20.191‘ username = ‘ftpuser‘ password = ‘ftp123‘ file = ‘1.txt‘ f = ftplib.FTP(host) # 實例化FTP對象 f.login(username, password) # 登錄 # 獲取當前路徑 pwd_path = f.pwd() print("FTP當前路徑:", pwd_path) # 逐行讀取ftp文本文件# f.retrlines(‘RETR %s‘ % file) 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()
Python——FTP上傳和下載