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
相关文章
相关标签/搜索