本文主要是介绍Python解决SFTP服务器上下载文件到本地,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# coding=utf-8
import paramiko
import os
def DownLoadFile(sftp,LocalFile,RemoteFile): # 下载当个文件
file_handler = open(LocalFile, 'wb')
print(file_handler)
sftp.get(RemoteFile, LocalFile) # 下载目录中文件
file_handler.close()
return True
def DownLoadFileTree(sftp, LocalDir, RemoteDir): # 下载整个目录下的文件
if not os.path.exists(LocalDir):
os.makedirs(LocalDir)
for file in sftp.listdir(RemoteDir):
Local = os.path.join(LocalDir, file)
Remote=os.path.join(RemoteDir, file)
if file.find(".") == -1:#判断是否是文件
if not os.path.exists(Local):
os.makedirs(Local)
DownLoadFileTree(sftp,Local, Remote)
else:#文件
DownLoadFile(sftp,Local, Remote)
return "complete"
if __name__ == '__main__':
host = ' '#主机
port = #端口
username = '' #用户名
password = '' #密码
sf = paramiko.Transport((host, port))
sf.connect(username=username, password=password)
sftp = paramiko.SFTPClient.from_transport(sf)
local = 'D:\datadisk2_hdf5'#本地文件
remote = '\SH-2-0'#远程文件或目录
DownLoadFileTree(sftp,local,remote)#下载
这篇关于Python解决SFTP服务器上下载文件到本地的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!