簡體   English   中英

Python:如何通過zip流將文件上傳到SFTP

[英]Python: How to upload a file to SFTP via zip stream

我看到了一個示例如何將文件上傳到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()

但是,如何同時上傳和壓縮呢? 明確地說,我不想將其壓縮然后上傳,我想同時使用壓縮流制作它。

要通過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)

設置confirmFalse會告訴pysftp 驗證文件的長度。 如果您需要使用pysftp中的file_size驗證文件的長度,那么您將需要說len(secondstream.read())並復制流,因為讀取會消耗內存中的流,這意味着不會寫入任何數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM