ftplib的使用

工具主要是远程批量的执行对文件的上传,删除和重命名

代码比较简单,都是常用的方法使用,首先创建一个类

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 = []

  初始化需要的成员变量

  连接到ftp

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()

登录用户

  此处需要设置encoding是解决ftp的中文乱码,前面文章中有提到

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

  然后执行操作

   上传:

  

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


转载于:https://my.oschina.net/tianrui/blog/619246

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值