#!/usr/bin/python # coding=utf-8 import os from ftplib import FTP # 引入ftp模塊 class MyFtp: ftp = FTP() def __init__(self,host,port=21): self.ftp.connect(host,port) def login(self,username,pwd): self.ftp.set_debuglevel(2) # 打開調試級別2,顯示詳細信息 self.ftp.login(username,pwd) print(self.ftp.welcome) def downloadFile(self,localpath,remotepath,filename): os.chdir(localpath) # 切換工作路徑到下載目錄 self.ftp.cwd( remotepath) # 要登錄的ftp目錄 self.ftp.nlst() # 獲取目錄下的文件 file_handle = open(filename,"wb").write # 以寫模式在本地打開文件 self.ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handle,blocksize=1024) # 下載ftp文件 # ftp.delete(filename) # 刪除ftp服務器上的文件 def close(self): self.ftp.set_debuglevel(0) # 關閉調試 self.ftp.quit() if __name__ == '__main__': ftp = MyFtp('host') ftp.login('username','pwd') ftp.downloadFile('E:\\RED\\workspace\\appAuto\\apk\\Android10','/mobile/Android/release10/','xxx.apk') ftp.close()
實現得比較簡單,后續用得復雜一點的話再優化。