您好,登錄后才能下訂單哦!
本篇文章為大家展示了python中怎么按目錄結構上傳下載,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
具體代碼如下所示:
#!/usr/bin/python # coding=utf-8 from ftplib import FTP import time import os def __ftp_upload(ftp,local,remote,isDel=False): if os.path.isdir(local): for f in os.listdir(local): if os.path.isdir(local+f): try: ftp.cwd(remote+f) except: ftp.mkd(remote+f) print local+f __ftp_upload(ftp,local+f+'/',remote+f+'/',isDel) else: print remote+f print local+f fp = open(local+f, 'rb') ftp.storbinary('STOR ' + remote + f, fp, 4096) fp.close() if (isDel==True): os.remove(local) else: fp = open(local+f, 'rb') ftp.storbinary('STOR ' + remote + f, fp, 4096) fp.close() if (isDel==True): os.remove(local) def ftp_upload(host,port,username,password,local,remote,isDel=False): ftp = FTP() try: ftp.connect(host,port) ftp.login(username,password) except: return False try: __ftp_upload(ftp,local,remote,False) except Exception,e: print e ftp.close() return True def ftp_download(host,port,username,password,local,remote): ftp = FTP() ftp.connect(host,port) ftp.login(username,password) ret = False try: if os.path.isdir(local): for f in ftp.dir(remote): fp = open(local+f, 'wb') ftp.retrbinary('RETR ' + remote + f, fp.write, 4096) fp.close() else: fp = open(local, 'wb') ftp.retrbinary('RETR ' + remote, fp.write, 4096) fp.close() ret = True except Exception,e: print ("download exception:\n",e) ftp.close() return ret if __name__=='__main__': host = '*.*.*.*' port = '21' username = 'xxx' password = 'xxx' ftp_upload(host,port,username,password,'/home/pi/work/xx/','/home/ubuntu/xx/',False) print 'download' ftp_download(host,port,username,password,'/home/pi/work/xx/hh.txt','/home/ubuntu/xx/hh.txt')
只完成了按目錄結構上傳,下載還沒弄好。
補充:下面看下Python ftp 上傳和下載
工具
python3
ftplib
上傳
from ftplib import FTP ftp = FTP(host='127.0.0.1', user='test', passwd='test') #創建 ftp.cwd('/home/test/ftp/') #上傳路徑 fd = open('test.txt', 'rb') #以只讀的方式打開要上傳的文件 ftp.storbinary('STOR test.txt', fd) #上傳文件 fd.close() ftp.quit() #退出登錄 ftp.close() #關閉連接
下載
from ftplib import FTP ftp = FTP(host='127.0.0.1', user='test', passwd='test') #創建 ftp.cwd('/home/test/ftp/') #服務器下載路徑 fd = open('test.txt', 'wb') #以只寫的方式打開要下載的文件 ftp.retrbinary('RETR test.txt', fd.write, 2048) #下載文件 fd.close() ftp.quit() #退出登錄 ftp.close() #關閉連接
上述內容就是python中怎么按目錄結構上傳下載,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。