工具主要是远程批量的执行对文件的上传,删除和重命名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