无法使用python从sftp服务器下载文件

时间:2019-05-21 18:48:21

标签: python sftp paramiko

我正在编写一个Python脚本,可帮助我将文件从sftp服务器下载到本地文件夹。 当我运行脚本时,它只会下载空白文档 我继续努力,但失败了

我制作了一个sftp服务器来测试代码,并且在远程路径中指定的路径是服务器根目录

我在下面给出了代码

import pysftp

myHostname = "192.168.56.1"
myUsername = "new45"
myPassword = "146515"

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None

with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword,cnopts=cnopts) as sftp:
    # Define the file that you want to download from the remote directory
    remoteFilePath = 'C:\\Users\\Simon\\Desktop\\ftp\\testfile.txt'

    # Define the local path where the file will be saved
    # or absolute "C:\Users\sdkca\Desktop\TUTORIAL.txt"
    localFilePath = 'C:\\Users\\Simon\\Desktop\\ftp2\\textfile.txt'

    sftp.get(remoteFilePath, localFilePath)

# connection closed automatically at the end of the with-block'''

请告诉我为什么会出现空白文件错误

1 个答案:

答案 0 :(得分:0)

使用任何GUI SFTP客户端登录到该服务器。并观察您的服务器使用什么路径语法。绝对不是C:\Users\Simon\Desktop\ftp\testfile.txt。 SFTP使用正斜杠。因此可以像/C:/Users/Simon/Desktop/ftp/testfile.txt。但即使是完全不同的东西,尤其是如果服务器或您的帐户是chrooted

您可能正在尝试使用直接在目标Windows系统上使用的路径语法。但是您的SFTP服务器使用不同的路径语法显示文件。您需要遵守该语法。