paramiko sftp 创建一个多级路径

在 linux 中我们可以通过 mkdir -p 路径 的方式来创建一个多级路径,但在 paramiko sftp 中似乎没有对应的方法可以直接使用(参见 paramiko sftpClient 的 mkdir 方法)。我们可以通过如下的方式来创建目录并存储文件。

     mysftp = paramiko.Transport((SFTP_HOST,SFTP_PORT))
     mysftp.connect(username=SFTP_USERNAME, password=SFTP_PASSWORD)
     sftpClient = paramiko.SFTPClient.from_transport(mysftp)
     #	Path = "sub1/sub2/sub3/"
     pathList = Path.split("/")[0:-1]
     for pathItem in pathList:
         #	当该目录存在时,进入该目录,否则创建该目录并进入该目录
         try:
             sftpClient.chdir(pathItem)
         except Exception as e:
             sftpClient.mkdir(pathItem)
             sftpClient.chdir(pathItem)
     #	在此处存储文件
     sftpClient.putfo(newFile, newFile.filename)
     #	关闭连接
     mysftp.close()

版权声明:本文为nju_zjy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。