本文介绍了Python SFTP:使用SFTP将内存流放入远程文件夹。类似于Ftp Stor二进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用Python中的paraMiko。我需要SFTP一个文件到一个远程的Linux机器(开发平台是Windows)。以下是代码(正在运行)
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(HOST, username=USERNAME, password=PASSWORD)
stdin, stdout, stderr = client.exec_command("cd %s; pwd" % PATH)
data = stdout.readlines()
print "Current folder:"
for line in data:
print (line.rstrip())
sftp = client.open_sftp()
sftp.put(local_path, PATH + '/' + FILE_NAME, confirm = True)
sftp.close()
client.close()
这运行得很好。但要调用Put(),我需要将文件保存到LOCAL_PATH,这需要很长时间。
我想知道是否有一种方法可以像ftp一样在内存流中使用sftp。 对于ftp,使用In Memory Stream(工作中)速度更快:
import ftplib
ftp_conn = ftplib.FTP(HOST, USERNAME, PASSWORD)
ftp_conn.cwd(FILE_PATH)
ftp_conn.storbinary('STOR '+posixpath.basename(FILE_PATH), buffer, blocksize=1024)
ftp_conn.close()
非常感谢!
推荐答案
现在可以使用类似文件的对象: http://docs.paramiko.org/en/stable/api/sftp.html#paramiko.sftp_client.SFTPClient.putfo
这篇关于Python SFTP:使用SFTP将内存流放入远程文件夹。类似于Ftp Stor二进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!