ftplib的使用

工具主要是遠程批量的執行對文件的上傳,刪除和重命名python

代碼比較簡單,都是經常使用的方法使用,首先建立一個類工具

class ftpInterface:
    def __init__(self, host = '', port = 21, user = '', pwd = '', timeout = 3):
        self.host = host
        self.port = port
        self.user = user
        self.pwd = pwd
        self.timeout = timeout
        self.filesParentList = []

  初始化須要的成員變量code

  鏈接到ftp
get

def connect(self):
        try:
            self.ftp = ftplib.FTP()
            self.ftp.connect(self.host, self.port, self.timeout)
        except Exception as connectEx:
            print(connectEx)
            return -1
        else:
            return self.login()

登陸用戶it

  此處須要設置encoding是解決ftp的中文亂碼,前面文章中有提到
io

def login(self):
        try:
            self.ftp.login(self.user, self.pwd)
        except Exception as loginEx:
            print(loginEx)
            return -1
        else:
            self.ftp.encoding = 'GB18030'
            return 0

  而後執行操做class

   上傳:登錄

  

def ftpUpLoadFile(self, folderPath):
        upFileMap = self.getFileNames(folderPath)
        if(not upFileMap):
            return -3
        try:
            isDirExist = False
            for fileKey in upFileMap.keys():
                '''find folderName == '1' pos '''
                filePath = self.getFtpFilePath(upFileMap[fileKey])
                if(filePath == ''):
                    continue
                else:
                    isDirExist = True
                ftpDir = os.path.dirname(filePath)
                print(ftpDir)
                self.createFtpDir(ftpDir)
                self.ftp.storbinary('STOR ' + filePath , open(upFileMap[fileKey], 'rb'))
            if(isDirExist == False):
                return -1
        except Exception as ex:
            print(ex)
            return -2
        self.close()
        return 0
相關文章
相關標籤/搜索