サーバーからファイルをダウンロードします

インポートparamiko 
インポートのOS 
インポート日時
STATインポートS_ISDIR ASからisdir 


DEF down_from_remote(sftp_obj、remote_dir_name、local_dir_name):
    "" "リモートファイルのダウンロード" "" 
    REMOTE_FILE = sftp_obj.stat(remote_dir_name)
    isdir(remote_file.st_mode)IF: フォルダの直接ダウンロードすることができない、循環継続する必要が
        check_local_dir(local_dir_name):(+
        remote_dir_name 'ダウンロードフォルダを開始するために')印刷
        sftp.listdirにremote_file_name用(remote_dir_name):
            sub_remote = os.path.join(remote_dir_name、remote_file_name)
            sub_remote = sub_remoteを。交換( '\\'、 '/') 
            sub_local = os.path.join(local_dir_name、remote_file_name)
            = sub_local.replace sub_local( '\\'、 '/')
            down_from_remote(sftp_obj、sub_remote、sub_local)
    他:
        #ファイルを直接ダウンロード
        ( 'ファイルダウンロードを開始:' + remote_dir_name)を印刷
        sftp.get(remote_dir_name、local_dir_name)


DEF check_local_dir(local_dir_name):
    "" "ローカルフォルダが存在し、作成し、存在しない" "" 
    os.path.exists(local_dir_name)でない場合:
        os.makdirs(local_dir_name)


__name__ == "__main__" IF:
    ""「プログラム正面玄関。「」 " 
    #サーバ接続情報
    HOST_NAME =『あなたのポート』
    USER_NAME =『ユーザー名』
    パスワード=『あなたのパスワード』
    22 =ポートです
    (絶対パスが必要)#リモートファイルのパス
    remote_dir = '/ホーム/ Zhengquan / tumaoOffice / wpsweb-デモ-NodeJS /ディレクトリを'
    #ローカルファイルストレージ・パス(絶対または相対パス缶) 
    local_dir =」D:ServerFile \\ \\「+ STR(datetime.date.today()) 


    #は、リモートサーバに接続します
    paramiko.Transport = T((host_nameに、ポート))
    t.connect(USER_NAME =ユーザ名、パスワード=パスワード)
    SFTP = paramiko.SFTPClient.from_transport(T)

    をダウンロード#リモートファイル開始
    down_from_remoteを(SFTP、remote_dir、local_dir)

    接続閉鎖#
    t.close()

  

おすすめ

転載: www.cnblogs.com/taozhengquan/p/12464539.html
おすすめ