1. 程式人生 > >Python——FTP上傳和下載

Python——FTP上傳和下載

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上傳和下載