我使用下面的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()
我可以做些什么来调试这个?我可以打印出来,检查连接是否成功等等?
答案 0 :(得分:1)
SFTPClient.put
(remotepath
)的第二个参数是文件的路径,而不是文件夹:
SFTP服务器上的目标路径。请注意,应包含文件名。仅指定目录可能会导致错误。
试试这个:
sftp.put(filePath, "/filename")