利用FTP上传所有文件
import os,ftptools
class UploadAll(ftptools.FtpTools): #继承上一篇写的Ftptools
'''upload an entire tree of subdirectories'''
def __init__(self):
self.fcount = self.dcount = 0
def getcleanall(self):
return False
def uploadDir(self,localdir):
'''for each directory in an entire tree,upload simple files,recur into subdirectories'''
localfiles = os.listdir(localdir)
for localname in localfiles:
localpath = os.path.join(localdir,localname)
print('uploading',localpath,'to',localname,end=' ')
if not os.path.isdir(localpath):
self.uploadOne(localname,localpath,localname) #使用Ftptools中的上传方法
self.fcount += 1
else:
try:
self.connection.mkd(localname) #创建目录
print('directory created')
except:
print('directory existed')
#开始上传目录
self.connection.cwd(localname)
self.uploadDir(localpath)
self.connection.cwd('..')
self.dcount += 1
print('directory uploaded')
if __name__ == '__main__':
ftp = UploadAll()
ftp.configTransfer(site='192.168.191.1',rdir='.',user=())
ftp.run(transferAct=lambda :ftp.uploadDir(ftp.localdir))
print('Done:',ftp.fcount,'files and',ftp.dcount,'directory uploaded.')