日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于Python——实现远程下载sftp文件(只下载.zip文件)

發布時間:2025/5/22 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Python——实现远程下载sftp文件(只下载.zip文件) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【背景】遠程下載發布包等文件時,總是要使用WinSCP等工具登陸拖動。今天就介紹一種使用python下載文件到本地的方法。

【代碼實現】

1 import paramiko # paramiko模塊,基于SSH用于連接遠程服務器并執行相關操作 2 import os 3 4 5 def DownLoadFile(sftp, LocalFile, RemoteFile): # 下載單個文件 7 file_handler = open(LocalFile, 'wb') # wb 以二進制格式打開文件寫入 8 print(file_handler) 9 sftp.get(RemoteFile, LocalFile) # 下載目錄中文件 10 file_handler.close() 11 return True 12 13 14 def DownLoadFileTree(sftp, LocalDir, RemoteDir): # 下載整個目錄下的文件 15 if not os.path.exists(LocalDir): # 如果本地文件夾不存在,則創建它 16 os.makedirs(LocalDir) 17 for file in sftp.listdir(RemoteDir): #sftp.listdir()返回當前目錄下清單列表 18 Local = os.path.join(LocalDir, file) #os.path.join()用于拼接文件路徑 19 Remote = os.path.join(RemoteDir, file) 20 if os.path.isdir(file): # 判斷是否是文件 21 if not os.path.exists(Local): #對于文件夾:如果本地不存在,就創建該文件夾 22 os.makedirs(Local) 23 DownLoadFileTree(sftp, Local, Remote) 24 else: # 是文件 25 if os.path.splitext(Remote)[1] == '.zip': #os.path.splitext(Remote)[1]獲取文件擴展名,判斷是否為.zip文件 26 DownLoadFile(sftp, Local, Remote) #下載文件 27 print "complete!"
1 if __name__ == '__main__': 2 host = '主機名' # 主機 3 port = 端口號# 端口 4 username = '用戶名' # 用戶名 5 password = '密碼' # 密碼 6 client = paramiko.Transport((host, port)) #連接服務器 7 client.connect(username=username, password=password) 8 sftp = paramiko.SFTPClient.from_transport(client) 9 local = raw_input("please input the local path(eg.D:\\V1.6):") #輸入本地文件路徑 10 remote = '/app/...' # 遠程文件或目錄 11 DownLoadFileTree(sftp, local, remote) # 下載

?代碼實現了遠程連接服務器,輸入本地路徑,就會自動下載需要的壓縮文件,比可視化工具更快捷。

轉載于:https://www.cnblogs.com/testxiaobai/p/10488712.html

總結

以上是生活随笔為你收集整理的基于Python——实现远程下载sftp文件(只下载.zip文件)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。