作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从我的计算机将 CSV 文件上传到 SFTP 服务器。我不知道为什么我的代码找不到该文件。需要很少的帮助来识别问题。这是我的代码
import pysftp as sftp
def sftpExample():
try:
cnopts = sftp.CnOpts()
cnopts.hostkeys = None
s = sftp.Connection(host='abc.net', username='xyz', password='aaaaaaaaaaaa',cnopts=cnopts)
remotepath = 'http://sftp.abc.net/uploads/'
localpath = '/Users/ashish.verma/Desktop/Text.rtf'
s.put(localpath,remotepath)
s.close()
except Exception as e:
print(e)
sftpExample()
与 SFTP 服务器的连接成功,但我不知道为什么我的代码无法在本地计算机上找到该文件。错误消息显示:
No such file
最佳答案
pysftp 的 remotepath
参数 Connection.put
method是文件路径。不是目录 URL,更不是HTTP URL。
应该是这样的:
remotepath = '/uploads/Text.rtf'
s.put(localpath, remotepath)
<小时/>
或者,您可以省略该参数,使 pysftp 以原始文件名(取自 localpath
)将文件上传到当前远程工作目录:
s.cd('/uploads')
s.put(localpath)
<小时/>
强制警告:请勿设置cnopts.hostkeys = None
,除非您不关心安全性。正确的解决方案请参阅Verify host key with pysftp 。
关于python - 使用 Python (pysftp) 将文件上传到 SFTP 失败并显示 "No such file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57714741/
我是一名优秀的程序员,十分优秀!