python - 无法使用 Paramiko Python 将文件上传到 sftp 服务器
问题描述
我想使用 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”,因为这是他们在网站上告诉我的,但除了我没有收到该错误消息之外,该文件不会出现在服务器上
解决方案
看起来我必须像这样指定文件'/whitelist1.json'的名称:
sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/whitelist1.json') # don't know why but yeah
推荐阅读
- gtk - 相当于 GTK4 中的 gtk_file_chooser_set_local_only()?
- perl - 使用未初始化的变量是未定义的行为吗?
- javascript - 尝试使用 EventListener 在滚动时更改导航栏,不起作用
- kubernetes - 连接 2 个 k3s 集群之间的服务
- python - 传递给 NoneType.__format__ 的格式字符串不受支持
- oracle - 为什么 Oracle Track 远程函数修改即使不修改签名
- java - 作为 json 模式中的顶级属性键“repuired”可能不是错误吗?
- c - 我的代码没有正确打印名称。它只打印第一个单词的第一个字母,然后输入其余的
- ios - 如果在 Safari 中粘贴 url 或从 twitter 打开链接,Branch IO 通用链接将不起作用
- apache - 获取“未知的 ReadRequestTimeout 参数”