Paramiko的递归目录下载?

Ara*_*man 9 python ssh paramiko

我想通过SSH递归下载一个包含未知内容的目录,并且一直在尝试Paramiko.我已经看到了几个如何上传目录的例子,但没有一个包含递归下载.

我可以列出目录中的所有项目,但无法找到知道项目是文件(下载)还是目录(递归调用)的方法.

transport = paramiko.Transport((MY_IP, 22))
transport.connect(username=MY_NAME, password=MY_PASS)
sftp = paramiko.SFTPClient.from_transport(transport)

file_list = sftp.listdir(path='/home/MY_HOME_DIR')
    for item in file_list:
        # Here is an item name... but is it a file or directory?
        print(item)
sftp.close()
transport.close()
Run Code Online (Sandbox Code Playgroud)

那么我怎么知道某个项目是文件还是目录?

wes*_*ark 11

from stat import S_ISDIR

def isdir(path):
  try:
    return S_ISDIR(sftp.stat(path).st_mode)
  except IOError:
    #Path does not exist, so by definition not a directory
    return False
Run Code Online (Sandbox Code Playgroud)

...假设sftp是一个开放的Paramiko SFTP连接.