• 循环遍历共享文件夹,不需要知道目录深度拷贝上传


    # _*_ coding: utf-8 _*_
    __author__ = 'pythonwu'
    __date__ = "2018/8/21 17:10"

    import shutil
    import os
    import sys
    import paramiko
    from datetime import datetime


    hostname = 'xxx'
    username = 'xxx'
    password = 'xxx'
    port = 22

    def upload(local_dir,remote_dir):
    try:
    transport = paramiko.Transport(hostname,port)
    transport.connect(username=username,password=password)
    sftp = paramiko.SFTPClient.from_transport(transport)
    print('upload file start %s' %datetime.now())
    for root,dirs,files in os.walk(local_dir):
    for filespath in files:
    local_file = os.path.join(root,filespath)
    a = local_file.replace(local_dir,"")
    remote_file = os.path.join(remote_dir,a)
    remote_file_convert = remote_file.replace('\','/').replace('//','/')
    print(remote_file_convert)
    try:
    sftp.put(local_file,remote_file_convert)
    except Exception as e:
    repr(e)
    for name in dirs:
    local_path = os.path.join(root,name)
    a = local_path.replace(local_dir,"")
    remote_path = os.path.join(remote_dir,a)
    remote_path_convert = remote_path.replace('\','/').replace('//','/')
    print(remote_path_convert)
    try:
    sftp.mkdir(remote_path_convert)
    print("mkdir path %s" %remote_path_convert)
    except Exception as e:
    repr(e)
    print('upload file success %s' %datetime.now())
    transport.close()
    except Exception as e:
    repr(e)





    if __name__ == '__main__':
    local_dir = '\\tcent.cn\dfs\00.常用软件\17.IT专用软件\02.白名单软件库收集'
    remote_dir = '\\data\1'
    upload(local_dir,remote_dir)
  • 相关阅读:
    计算机算法设计与分析之棋盘覆盖问题
    在uboot里面加入环境变量使用run来运行
    软件project师的属性与发展
    Oracle 表三种连接方式(sql优化)
    POJ 1700 cross river (数学模拟)
    八:Java之I/O
    为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。
    WebBot
    WebBrowserProgramming
    Skulpt
  • 原文地址:https://www.cnblogs.com/wudeng/p/9519163.html
Copyright © 2020-2023  润新知