def scpToRemoteMachine(self,remoteFilePath,localFile='', localCatalogue = ''): if localFile and localCatalogue: print 'SCP parameters are wrong.' t = paramiko.Transport((self.scpIp,22)) t.connect(username = self.scpUser, password = self.scpPassword) sftp = paramiko.SFTPClient.from_transport(t) if localFile: scpInfo="scp %s %s@%s:%s" % (localFile,self.scpUser,self.scpIp,remoteFilePath) print scpInfo basename=os.path.basename(localFile)#文件的不带路径的名字 sftp.put(localFile,remoteFilePath+'/'+basename) elif localCatalogue: from fileutil import FileUtil fileutil = FileUtil() scpInfo="scp %s/* %s@%s:%s" % (localCatalogue,self.scpUser,self.scpIp,remoteFilePath) print scpInfo files=os.listdir(localCatalogue) for eachFile in files: if fileutil.isExistFile(eachFile): sftp.put(os.path.join(localCatalogue,eachFile),os.path.join(remoteFilePath,eachFile)) else: print eachFile + ' is not a file.' t.close()