Python 拉取远程服务器资源到本地

因为功能需要,需要从远端服务器拉取文件资源到本地,写了一个简单脚本. 功能没有很复杂就不写相关解释了

import paramiko

def download_from_remote(remote_path, local_path):
    # 服务器连接信息
    host_ip = 'xxx.xx.xx.xxx'
    port = 22
    user_name = 'root'
    password = 'root'

    try:
        t = paramiko.Transport((host_ip, port))
        t.connect(username=user_name, password=password)  # 登录远程服务器
        sftp = paramiko.SFTPClient.from_transport(t)  # sftp传输协议

        for file_name in sftp.listdir(remote_path):
            if file_name.endswith('.xlsx'):
                src = remote_path + file_name
                des = local_path + file_name
                sftp.get(src, des)  # 下载文件
        t.close()
    except:
        print(IOError)
        remote_scp(host_ip, user_name, password)

if __name__ == '__main__':
    remote_path = '/data/app/test/'
    local_path = '/data/app//resources/'
    #判断文件是否存在
    createDirIfNotExists(local_path)
    # 下载远端文件到当前服务器
    download_from_remote(remote_path, local_path)

需要注意的地方是 sftp.get(src, des) 参数的路径一定要是 ‘文件地址 + 文件名’ (/data/app/test/aa.xlsx) 的格式 ; 否则会出现一个 os的异常,具体这里不在展示了


版权声明:本文为weixin_47301645原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。