通过Paramiko SFTP上传文件无法工作

7

我使用以下Python代码使用Paramiko通过SFTP上传文件。连接“似乎”正常,代码执行到最后,只是当我在FileZilla中检查时,文件没有到达目的地。

我已经检查并将文件权限设置为777(只是为了确保)。我还在单独的终端中检查了我的文件路径字符串,并且该路径是有效的。

import paramiko
.
.

transport = paramiko.Transport((host, port))
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)

sftp.put(filePath, "/")  # Upload file to root FTP folder
sftp.close()
transport.close()

我该如何调试这个问题?我可以打印出什么,检查连接是否成功等吗?
1个回答

13

SFTPClient.put 的第二个参数(remotepath)是指文件的路径,而不是文件夹的路径:

SFTP服务器上的目标路径。请注意应包括文件名,仅指定目录可能会导致错误。

尝试这样做:

sftp.put(filePath, "/filename")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接