我正在编写一个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'''
请告诉我为什么会出现空白文件错误
答案 0 :(得分:0)
使用任何GUI SFTP客户端登录到该服务器。并观察您的服务器使用什么路径语法。绝对不是C:\Users\Simon\Desktop\ftp\testfile.txt
。 SFTP使用正斜杠。因此可以像/C:/Users/Simon/Desktop/ftp/testfile.txt
。但即使是完全不同的东西,尤其是如果服务器或您的帐户是chrooted。
您可能正在尝试使用直接在目标Windows系统上使用的路径语法。但是您的SFTP服务器使用不同的路径语法显示文件。您需要遵守该语法。