Python:如何通过zip流将文件上传到SFTP

2024-04-25 21:38:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到了example如何将文件上载到SFTP

import pysftp

srv = pysftp.Connection(host="www.destination.com", username="root",
password="password",log="./temp/pysftp.log")

with srv.cd('public'): #chdir to public
    srv.put('C:\Users\XXX\Dropbox\test.txt') #upload file to nodejs/

# Closes the connection
srv.close()

但是我怎么能同时上传和压缩呢?为了明确我不想压缩它然后上传它,我想让它同时使用压缩流。在


Tags: 文件toimportcomloghostexamplewww
1条回答
网友
1楼 · 发布于 2024-04-25 21:38:24

要通过pysftp传输文件,请执行以下操作:

import pysftp
import io

with io.StringIO("hello world!\r\n") as stream:
    with pysftp.Connection("sftp.mywebsite.com", username="myuser", password="mypassword") as sftp:
        with sftp.cd("myhome/uploads"):
            sftp.putfo(stream, "hello.txt", confirm=False)

confirm设置为False将告诉pysftp不要验证文件的长度。如果需要用pysftp中的file_size验证文件的长度,那么需要说len(secondstream.read())并复制流,因为读取会消耗内存中的流,这意味着不会写入任何数据。在

相关问题 更多 >