• 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 -----
  • 相关阅读:
    array_count_values源码
    php 编译安装记录
    mysql 安装的过程做个记录
    初识highcharts 库
    php 不重新编译增加新扩展的方法
    备考PMP
    Beyond Compare4破解--写reg脚本删除注册表
    SourceTree 跳过登录
    正则 (?=exp)
    springmvc--处理器的返回参数
  • 原文地址:https://www.cnblogs.com/presleyren/p/14215662.html
Copyright © 2020-2023  润新知