最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

使用Python實現(xiàn)sftp上傳和下載功能代碼分享

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:25:33
文檔

使用Python實現(xiàn)sftp上傳和下載功能代碼分享

使用Python實現(xiàn)sftp上傳和下載功能代碼分享:在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機,實現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實現(xiàn)上傳和下載功能,需要的朋友參考下1.功能實現(xiàn)根據(jù)輸入?yún)?shù)判斷是文件還是目錄,進(jìn)行上傳和下載本地參數(shù)local需要與遠(yuǎn)程參數(shù)rem
推薦度:
導(dǎo)讀使用Python實現(xiàn)sftp上傳和下載功能代碼分享:在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機,實現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實現(xiàn)上傳和下載功能,需要的朋友參考下1.功能實現(xiàn)根據(jù)輸入?yún)?shù)判斷是文件還是目錄,進(jìn)行上傳和下載本地參數(shù)local需要與遠(yuǎn)程參數(shù)rem

在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機,實現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實現(xiàn)上傳和下載功能,需要的朋友參考下

1.功能實現(xiàn)

根據(jù)輸入?yún)?shù)判斷是文件還是目錄,進(jìn)行上傳和下載

本地參數(shù)local需要與遠(yuǎn)程參數(shù)remote類型一致,文件以文件名結(jié)尾,目錄以結(jié)尾

上傳和下載的本地和遠(yuǎn)程目錄需要存在

異常捕獲

2.代碼實現(xiàn)

#!/usr/bin/python
# coding=utf-8
import paramiko
import os
def sftp_upload(host,port,username,password,local,remote):
 sf = paramiko.Transport((host,port))
 sf.connect(username = username,password = password)
 sftp = paramiko.SFTPClient.from_transport(sf)
 try:
 if os.path.isdir(local):#判斷本地參數(shù)是目錄還是文件
 for f in os.listdir(local):#遍歷本地目錄
 sftp.put(os.path.join(local+f),os.path.join(remote+f))#上傳目錄中的文件
 else:
 sftp.put(local,remote)#上傳文件
 except Exception,e:
 print('upload exception:',e)
 sf.close()
def sftp_download(host,port,username,password,local,remote):
 sf = paramiko.Transport((host,port))
 sf.connect(username = username,password = password)
 sftp = paramiko.SFTPClient.from_transport(sf)
 try:
 if os.path.isdir(local):#判斷本地參數(shù)是目錄還是文件
 for f in sftp.listdir(remote):#遍歷遠(yuǎn)程目錄
 sftp.get(os.path.join(remote+f),os.path.join(local+f))#下載目錄中文件
 else:
 sftp.get(remote,local)#下載文件
 except Exception,e:
 print('download exception:',e)
 sf.close()
if name == 'main':
 host = '192.168.1.2'#主機
 port = 22 #端口
 username = 'root' #用戶名
 password = '123456' #密碼
 local = 'F:\sftptest\'#本地文件或目錄,與遠(yuǎn)程一致,當(dāng)前為windows目錄格式,window目錄中間需要使用雙斜線
 remote = '/opt/tianpy5/python/test/'#遠(yuǎn)程文件或目錄,與本地一致,當(dāng)前為linux目錄格式
 sftp_upload(host,port,username,password,local,remote)#上傳
 #sftp_download(host,port,username,password,local,remote)#下載

3.總結(jié)

以上代碼實現(xiàn)了文件和目錄的上傳和下載,可以單獨上傳和下載文件,也可以批量上傳和下載目錄中的文件,基本實現(xiàn)了所要的功能,但是針對目錄不存在的情況,以及上傳和下載到多臺主機上的情況,還有待完善。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用Python實現(xiàn)sftp上傳和下載功能代碼分享

使用Python實現(xiàn)sftp上傳和下載功能代碼分享:在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機,實現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實現(xiàn)上傳和下載功能,需要的朋友參考下1.功能實現(xiàn)根據(jù)輸入?yún)?shù)判斷是文件還是目錄,進(jìn)行上傳和下載本地參數(shù)local需要與遠(yuǎn)程參數(shù)rem
推薦度:
標(biāo)簽: 下載 代碼 python
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top