【问题标题】:How can I download file from SFTP using pysftp?如何使用 pysftp 从 SFTP 下载文件?
【发布时间】:2019-03-14 16:01:59
【问题描述】:

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

有人可以帮我写python代码吗?

我应该从哪里开始?

【问题讨论】:

    标签: python pysftp


    【解决方案1】:

    你试过in pysftp's documentation这个例子吗?

    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
    

    【讨论】:

    • srv = pysftp.Connection(host="", username="",password="", cnopts=cnopts)
    • 你试过了吗?你有没有得到任何错误?如果是这样,请更新您的问题以反映您已经尝试过的内容。
    【解决方案2】:

    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()
    

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2017-11-21
      • 2020-05-16
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多