工具主要是遠程批量的執行對文件的上傳,刪除和重命名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