无法使用Paramiko Python将文件上载到sftp服务器

2024-09-30 16:35:13 发布

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

我想使用Paramiko将文件上载到SFTP服务器,但似乎没有正确执行。
我以为我得到了文件路径“/”的相应错误原因,该路径是服务器上的根目录,但我没有得到任何结果。
我不断地发现这个错误:

  File "c:\python\whitelistBot\whitelistBot.py", line 63, in on_message
    sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/')
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 759, in put
    return self.putfo(fl, remotepath, file_size, callback, confirm)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 714, in putfo
    with self.file(remotepath, "wb") as fr:
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 372, in open
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 813, in _request
    return self._read_response(num)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 865, in _read_response
    self._convert_status(msg)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 898, in _convert_status
    raise IOError(text)
OSError: Operation Unsupported

我正在运行的代码:

import paramiko


FTP_HOST = "********"
FTP_USER = "********"
FTP_PASS = "********"
FTP_PORT = ****

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname= FTP_HOST, username=FTP_USER, password=FTP_PASS, port=FTP_PORT)
sftp_client = ssh_client.open_sftp()

sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/')

sftp_client.close()
ssh_client.close()

编辑:我更改了将文件放在“/home/container”的目录,因为他们在网站上告诉我了,但除了我没有收到错误消息之外,该文件没有出现在服务器上


Tags: 文件inpyselfclientparamikolibpackages
1条回答
网友
1楼 · 发布于 2024-09-30 16:35:13

看起来我必须指定文件“/whitelist1.json”的名称,如下所示:

sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/whitelist1.json') # don't know why but yeah

相关问题 更多 >