使用Python(pysftp)将文件上载到SFTP失败,并显示“没有这样的文件”

2024-04-23 06:20:29 发布

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

我正在尝试从我的计算机上载CSV文件到SFTP服务器。我不知道为什么我的代码找不到文件。几乎不需要帮助就可以确定问题。这是我的密码

import pysftp as sftp
def sftpExample():
    try:
        cnopts = sftp.CnOpts()
        cnopts.hostkeys = None
        s = sftp.Connection(host='abc.net', username='xyz', password='aaaaaaaaaaaa',cnopts=cnopts)

        remotepath = 'http://sftp.abc.net/uploads/'
        localpath = '/Users/ashish.verma/Desktop/Text.rtf'
        s.put(localpath,remotepath)

        s.close()

    except Exception as e:
        print(e)
sftpExample()

连接到SFTP服务器是成功的,但我不知道为什么我的代码无法在本地计算机上找到该文件。错误消息显示:

No such file


Tags: 文件csv代码服务器密码netas计算机
1条回答
网友
1楼 · 发布于 2024-04-23 06:20:29

pysftp^{} methodremotepath参数是一个文件路径。不是目录URL,只允许HTTPURL。在

应该是这样的:

remotepath = '/uploads/Text.rtf'
s.put(localpath, remotepath)

或者,您可以省略参数,让pysftp使用原始文件名(取自localpath)将文件上载到当前远程工作目录:

^{pr2}$

强制性警告:不要设置cnopts.hostkeys = None,除非您不关心安全性。有关正确的解决方案,请参见Verify host key with pysftp

相关问题 更多 >