1. 程式人生 > >python之FTP上傳和下載

python之FTP上傳和下載

塊大小 對象 direct 實例 color 二進制文件 pass nbsp orb

 1 # FTP操作
 2 import ftplib
 3 
 4 host = 192.168.20.191
 5 username = ftpuser
 6 password = ftp123
 7 file = 1.txt
 8 
 9 f = ftplib.FTP(host)  # 實例化FTP對象
10 f.login(username, password)  # 登錄
11 
12 # 獲取當前路徑
13 pwd_path = f.pwd()
14 print("FTP當前路徑:", pwd_path)
15 
16 
17 # 逐行讀取ftp文本文件
18 # f.retrlines(‘RETR %s‘ % file)
19 20 def ftp_download(): 21 ‘‘‘以二進制形式下載文件‘‘‘ 22 file_remote = 1.txt 23 file_local = D:\\test_data\\ftp_download.txt 24 bufsize = 1024 # 設置緩沖器大小 25 fp = open(file_local, wb) 26 f.retrbinary(RETR %s % file_remote, fp.write, bufsize) 27 fp.close() 28 29 30 def ftp_upload():
31 ‘‘‘以二進制形式上傳文件‘‘‘ 32 file_remote = ftp_upload.txt 33 file_local = D:\\test_data\\ftp_upload.txt 34 bufsize = 1024 # 設置緩沖器大小 35 fp = open(file_local, rb) 36 f.storbinary(STOR + file_remote, fp, bufsize) 37 fp.close() 38 39 40 ftp_download() 41 ftp_upload() 42 f.quit()
43

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() 關閉連接並退出

python之FTP上傳和下載