无法通过SFTP下载文件

时间:2019-01-15 23:16:18

标签: python sftp pysftp

我一直在研究并尝试了几种解决方案,但没有任何效果。我正在尝试运行python脚本以通过SFTP下载特定的文件夹。我一直在尝试按照此处的说明进行操作:https://pysftp.readthedocs.io/en/release_0.2.9/,但是运行此命令时没有运气:

import pysftp

with pysftp.Connection(host="sftp.url.com",username="username",password="password",port="##",private_key="C:\location\location"):
    with sftp.cd('public'):
        sftp.get('/todaysdate')

希望能够抓取一个文件并将其下载到本地文件夹。

如果这是一个基本问题,请多谢并深表歉意,尽管进行了很多挖掘工作,但没有找到解决办法的运气。

这是我收到的错误消息:

Warning (from warnings module):
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\pysftp\__init__.py", line 61
    warnings.warn(wmsg, UserWarning)
UserWarning: Failed to load HostKeys from M:\\.ssh\known_hosts.  You will need to explicitly load HostKeys (cnopts.hostkeys.load(filename)) or disableHostKey checking (cnopts.hostkeys = None).
Traceback (most recent call last):
  File "C:\BBG API\keytest2.py", line 3, in <module>
    with pysftp.Connection(host="sftp.url.com",username="user",password="pass",port="##",private_key="C:/CSV/filename"):
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\pysftp\__init__.py", line 132, in __init__
    self._tconnect['hostkey'] = self._cnopts.get_hostkey(host)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\pysftp\__init__.py", line 71, in get_hostkey
    raise SSHException("No hostkey for host %s found." % host)
paramiko.ssh_exception.SSHException: No hostkey for host sftp.trafix.com found.

1 个答案:

答案 0 :(得分:0)

几件事。我看到您在Windows上,因此您是否尝试过WinSCP以确保可以肯定地在Python环境之外按预期下载文件?

您还正在更改目录,所以我不明白为什么您需要在文件名之前加一个正斜杠。

另外,对您的私钥位置(例如c:/ location / location)使用正斜杠。