久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python實現FTP循環上傳文件

瀏覽:58日期:2022-08-01 17:55:48

本文實例為大家分享了python實現FTP循環上傳文件的具體代碼,供大家參考,具體內容如下

測試過程中,有時會用到FTP的數據流,或者需要使用FTP反復上傳文件,所以寫了一個FTP循環上傳文件的python代碼。

代碼如下:

#coding=utf-8import sysimport osfrom ftplib import FTPfrom time import sleep_XFER_FILE = ’FILE’_XFER_DIR = ’DIR’class Transmitter(object): # 注意:遞歸上傳本地文件或dirs到ftp服務器 def __init__(self): self.ftp = None def __del__(self): pass def setFtpParams(self, ip, uname, pwd, port=21, timeout=60): self.ip = ip self.uname = uname self.pwd = pwd self.port = port self.timeout = timeout def initEnv(self): if self.ftp is None: self.ftp = FTP() print(’### 連接FTP服務器: %s ...’ % self.ip) self.ftp.connect(self.ip, self.port, self.timeout) self.ftp.login(self.uname, self.pwd) def clearEnv(self): if self.ftp: self.ftp.close() print(’### 斷開FTP服務器: %s!’ % self.ip) self.ftp = None def uploadDir(self, localdir=’./’, remotedir=’./’): if not os.path.isdir(localdir): return self.ftp.cwd(remotedir) for file in os.listdir(localdir): src = os.path.join(localdir, file) if os.path.isfile(src):self.uploadFile(src, file) elif os.path.isdir(src):try: self.ftp.mkd(file)except: sys.stderr.write(’目錄存在 %s’ % file)self.uploadDir(src, file) self.ftp.cwd(’..’) def uploadFile(self, localpath, remotepath=’./’): if not os.path.isfile(localpath): return print(’+++ 上傳 %s to %s:%s’ % (localpath, self.ip, remotepath)) self.ftp.storbinary(’STOR ’ + remotepath, open(localpath, ’rb’)) sleep(0.5) try: self.ftp.delete(remotepath) except: pass # del file when uploaded this file # os.remove(localpath) # sleep(1) def __filetype(self, src): if os.path.isfile(src): index = src.rfind(’’) if index == -1:index = src.rfind(’/’) return _XFER_FILE, src[index + 1:] elif os.path.isdir(src): return _XFER_DIR, ’’ def upload(self, src): filetype, filename = self.__filetype(src) self.initEnv() if filetype == _XFER_DIR: self.srcDir = src self.uploadDir(self.srcDir) elif filetype == _XFER_FILE: self.uploadFile(src, filename) self.clearEnv()if __name__ == ’__main__’: srcDir = r’C:UsersAdministratorDownloadsFTPsmp’ transmitter = Transmitter() transmitter.setFtpParams(’10.44.0.2’, ’admin’, ’123123’) while True: transmitter.upload(srcDir) sleep(4)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 喀喇| 光泽县| 兰州市| 台东县| 乐平市| 龙州县| 富蕴县| 横山县| 武宣县| 三亚市| 车致| 正宁县| 仁寿县| 含山县| 西昌市| 成武县| 南充市| 新营市| 宜都市| 灵山县| 深州市| 武义县| 张掖市| 长治市| 宁安市| 蒙城县| 南丰县| 襄城县| 都江堰市| 通道| 雅安市| 南雄市| 渝北区| 邢台县| 突泉县| 九龙城区| 乐业县| 贺兰县| 都昌县| 佛教| 田东县|