繁体   English   中英

如何使用pysftp从SFTP下载文件?

[英]How can I download file from SFTP using pysftp?

我有一个包含一组文件夹的 SFTP 服务器。 我想从这些文件夹之一下载文件。

有人可以帮助我使用 python 代码吗?

我应该从哪里开始?

您是否尝试过pysftp 文档中的示例?

import pysftp

with pysftp.Connection('hostname', username='me', password='secret') as sftp:
    with sftp.cd('public'):             # temporarily chdir to public
        sftp.put('/my/local/filename')  # upload file to public/ on remote
        sftp.get('remote_file')         # get a remote file

Michael Powers 的补充。

如果您的服务器是一个帐户,而您的个人帐户是另一个帐户。 如果您的服务器帐户具有 root 权限,请按照 Michael 的方法进行操作。 如果没有,您可以使用 io buffer 下载此文件

    import io
    server_sftp = pysftp.Connection(host=test_host, username=server_account,
                              password=server_pwd, cnopts=cn_opts)
    your_user_sftp = pysftp.Connection(host=host_name, username = user_name,
                                password = user_pwd, cnopts=cn_opts)

    try:
        file_like=io.BytesIO()
        server_account.getfo(server_file_location,file_like)
        your_user_sftp.putfo(file_like, target_file_location)
    finally:
        flie_like.close()

    server_sftp.close()
    your_user_sftp.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM