python - 通过 Paramiko SFTP 上传文件不起作用

标签 python sftp paramiko

我正在使用下面的 Python 代码使用 Paramiko 通过 SFTP 上传文件。连接“似乎”很好,代码执行到最后,只是当我 checkin 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()

我可以做什么来调试这个?我可以打印任何内容,检查连接是否成功等?

最佳答案

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

the destination path on the SFTP server. Note that the filename should be included. Only specifying a directory may result in an error.

试试这个:

sftp.put(filePath, "/filename")

关于python - 通过 Paramiko SFTP 上传文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50736707/

相关文章:

java - 使用 JSch 库中的服务器指纹而不是设置公钥文件

Python Paramiko - 运行命令

Python 从一个列表中的任何项目到另一个列表

python - 尝试在 aws 中创建 iam 角色并在 assumeRolePolicyDocument 上出现错误

java - JMeter从SFTP文件夹中获取最新的文件/内容

python - 如何使用 python Paramiko (SSHClient) 检查远程文件是否可写?

python - Python Paramiko Channel.recv()的实际返回值类型是什么?

python - Pyspark - 将 mmddyy 转换为 YYYY-MM-DD

python - 如何在 python 中一个接一个地运行多个可执行文件

azure - 如何在 Azure 逻辑应用中的 SFTP 服务器上创建文件夹?