Pysftp

 作为一个轻量级的直接远程操作目标机器的模块,直接上代码, 具体用法请参考相关文档(自己上网查 =。=)。


class SFTP(object):
def __init__(self):
self.port = 22
self.hostname = ''
self.user_name = ''
self.pwd = ''
self.file_path = ''

def parse_params(self, dic): self.hostname = dic.get('hostname') or '' assert self.hostname, "require set ssh hostname." self.user_name, self.new_hostname = self.hostname.split('@') # print(self.user, '@', self.hostname) # self.user_name = dic.get('user_name') or '' self.pwd = dic.get('password') or '' self.port = dic.get('port') or 22 self.file_path = dic.get('file_path') or '' assert self.file_path, "require set file_path." # assert self.user_name, "require set ssh user name." assert self.pwd, "require set ssh password." # self.new_storage_path = os.path.join(self.storage_path, gen_md5(self.hostname + '|' + self.pwd)) self.new_storage_path = os.path.join(self.storage_path, gen_md5(self.hostname + '|' + self.pwd + '|' + self.file_path + f"{str(time.time())}")) # set storage_path self.set_storage_path(self.new_storage_path) def connet(self): d_l = [] pool = Pool(5) task_lst = [] cnopts = pysftp.CnOpts(knownhosts=self.hostname) cnopts.hostkeys = None with pysftp.Connection(host=self.new_hostname, username=self.user_name, password=self.pwd, port=self.port, cnopts=cnopts) as sftp: print("Connection succesfully stablished ... ") # Switch to a remote directory # sftp.cwd('../') sftp.cwd(self.file_path) # Obtain structure of the remote directory '/' # directory_structure = sftp.listdir_attr() # print(directory_structure) # _dir = sftp.listdir('/renpeng') file_dir = sftp.listdir(self.file_path)
       # ---- do something you wanna to do -----
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值