1. 程式人生 > 其它 >DAY 230 python之實現從ftp下載檔案到本地

DAY 230 python之實現從ftp下載檔案到本地

#!/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()