Python paramiko sftp脚本在测试服务器上工作,而不是在生产环境中工作

Python paramiko sftp脚本在测试服务器上工作,而不是在生产环境中工作,python,Python,我是python的新手,所以请原谅我为了将文件夹内容传输到ssh服务器而创建的黑客作业 问题是,它在我的测试服务器中工作得很好,但是只要在我需要上传文件的实际服务器上运行它,我就会收到下面的错误,我不确定这意味着什么。 我已经在谷歌上搜索过了,但我想不出来,请帮忙。 谢谢 错误: D:\Scripts>python mysftp.py Traceback (most recent call last): File "mysftp.py", line 37, in <module&

我是python的新手,所以请原谅我为了将文件夹内容传输到ssh服务器而创建的黑客作业

问题是,它在我的测试服务器中工作得很好,但是只要在我需要上传文件的实际服务器上运行它,我就会收到下面的错误,我不确定这意味着什么。 我已经在谷歌上搜索过了,但我想不出来,请帮忙。 谢谢

错误:

D:\Scripts>python mysftp.py
Traceback (most recent call last):
  File "mysftp.py", line 37, in <module>
    sftp.put(localpath+s,remotepath+s)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 676, in put

    return self.putfo(fl, remotepath, file_size, callback, confirm)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 634, in put
fo
    with self.file(remotepath, 'wb') as fr:
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 327, in ope
n
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 730, in _re
quest
    return self._read_response(num)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 781, in _re
ad_response
    self._convert_status(msg)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 807, in _co
nvert_status
    raise IOError(errno.ENOENT, text)
IOError: [Errno 2] Invalid file ID
D:\Scripts>python mysftp.py
回溯(最近一次呼叫最后一次):
文件“mysftp.py”,第37行,在
sftp.put(本地路径+s,远程路径+s)
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第676行,输入
返回self.putfo(fl、远程路径、文件大小、回调、确认)
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第634行,输入
法罗群岛
将self.file(remotepath,'wb')作为fr:
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第327行,在ope中
N
t、 msg=self.\u请求(CMD\u OPEN,filename,imode,attrblock)
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第730行,在
探索
返回self.\u读取\u响应(num)
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第781行,在
广告回应
自我转换状态(msg)
文件“C:\Python27\lib\site packages\paramiko\sftp_client.py”,第807行,位于
更新状态
raise IOError(errno.enoint,text)
IOError:[Errno 2]无效的文件ID

听起来您在服务器上写入的路径不存在。如果不存在,您应该检查并创建。

您好,我登录时正在写入根路径,因此不确定这是否是问题所在。我已尝试将目标pat调整为//,/existingfolder等。。但是仍然得到相同的答案,我还设置了sftp.put(localpath+s,s)而不是sftp.put(localpath+s,remotepath+s)
D:\Scripts>python mysftp.py
Traceback (most recent call last):
  File "mysftp.py", line 37, in <module>
    sftp.put(localpath+s,remotepath+s)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 676, in put

    return self.putfo(fl, remotepath, file_size, callback, confirm)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 634, in put
fo
    with self.file(remotepath, 'wb') as fr:
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 327, in ope
n
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 730, in _re
quest
    return self._read_response(num)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 781, in _re
ad_response
    self._convert_status(msg)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 807, in _co
nvert_status
    raise IOError(errno.ENOENT, text)
IOError: [Errno 2] Invalid file ID