工具主要是远程批量的执行对文件的上传,删除和重命名
代码比较简单,都是常用的方法使用,首先创建一个类
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