FileNotFoundError:将 excel 文件推送到 sftp 服务器时

我一直在尝试通过 python 从 Windows 本地系统将 excel 文件推送到 sftp 服务器。


以下是我尝试过的代码。


import pandas as pd

import paramiko

sftpURL   =  '100.35.1.16'

sftpUser  =  'xyz'

sftpPass  =  'user@123'


ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy())

ssh.connect(sftpURL, username=sftpUser, password=sftpPass,port=6381)

ftp = ssh.open_sftp()

localPath = "D:/folder/myfolder/abc.xlsx"

sftpPath = "/home/var/reports/abc.xlsx"

files = ftp.put(sftpPath,localPath)

执行此操作后,我看到下面列出的此错误


FileNotFoundError: [WinError 3] The system cannot find the path specified: '/home/var/reports/abc.xlsx'

我能够通过 Filezilla 连接到 sftp 服务器,当我通过 Python 代码列出目录时它也是成功的,但是当通过 Python 将文件推送到同一位置时,我遇到了这个问题。


我也尝试了大部分在线研究,也使用了包 pysftp,但没有运气。


我不确定我哪里出错了。请建议。


慕姐4208626
浏览 104回答 1
1回答

墨色风雨

该put()方法的签名是:put(localpath, remotepath, callback=None, confirm=True)看来你已经推翻了你的论点。将您的 put 调用更改为:files = ftp.put(localPath, sftpPath)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python