本文实例讲述了Python实现FTP上传文件或文件夹实例。分享给大家供大家参考。具体如下:
import sys
import os
import json
from ftplib import FTP
_XFER_FILE = 'FILE'
_XFER_DIR = 'DIR'
class Xfer(object):
'''''
@note: upload local file or dirs recursively to ftp server
'''
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 '### connect ftp server: %s ...'%self.ip
self.ftp.connect(self.ip, self.port, self.timeout)
self.ftp.login(self.uname, self.pwd)
print self.ftp.getwelcome()
def clearEnv(self):
if self.ftp:
self.ftp.close()
print '### disconnect ftp server: %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('the dir is exists %s'%file)
self.uploadDir(src, file)
self.ftp.cwd('..')
def uploadFile(self, localpath, remotepath='./'):
if not os.path.isfile(localpath):
return
print '+++ upload %s to %s:%s'%(localpath, self.ip, remotepath)
self.ftp.storbinary('STOR ' + remotepath, open(localpath, 'rb'))
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:\sytst"
srcFile = r'C:\sytst\sar.c'
xfer = Xfer()
xfer.setFtpParams('192.x.x.x', 'jenkins', 'pass')
xfer.upload(srcDir)
xfer.upload(srcFile)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python
# ftp上传文件夹
# python实现ftp上传
# ftp上传文件
# python实现FTP循环上传文件
# 详解Python下ftp上传文件linux服务器
# Python ftp上传文件
# Python使用FTP上传文件的实现示例
# 给大家
# 大家多多
# 上传文件
# 讲述了
# ftp
# recursively
# server
# def
# upload
# note
# local
# dirs
# file
# port
# timeout
# initEnv
# setFtpParams
# pass
# ip
# pwd
相关文章:
学校建站服务器如何选型才能满足性能需求?
如何选择网络建站服务器?高效建站必看指南
黑客如何通过漏洞一步步攻陷网站服务器?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
建站主机是否等同于虚拟主机?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
制作网站外包平台,自动化接单网站有哪些?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
如何通过服务器快速搭建网站?完整步骤解析
C++如何编写函数模板?(泛型编程入门)
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何通过免费商城建站系统源码自定义网站主题与功能?
Python文件管理规范_工程实践说明【指导】
建站之星安装失败:服务器环境不兼容?
IOS倒计时设置UIButton标题title的抖动问题
香港服务器选型指南:免备案配置与高效建站方案解析
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何在阿里云完成域名注册与建站?
如何在腾讯云服务器上快速搭建个人网站?
如何选择美橙互联多站合一建站方案?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
济南专业网站制作公司,济南信息工程学校怎么样?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
,交易猫的商品怎么发布到网站上去?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
在线教育网站制作平台,山西立德教育官网?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
简单实现Android文件上传
安徽网站建设与外贸建站服务专业定制方案
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何在腾讯云服务器快速搭建个人网站?
已有域名和空间如何快速搭建网站?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
网站制作知乎推荐,想做自己的网站用什么工具比较好?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
三星网站视频制作教程下载,三星w23网页如何全屏?
css网站制作参考文献有哪些,易聊怎么注册?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
,如何利用word制作宣传手册?
婚礼视频制作网站,学习*后期制作的网站有哪些?
招商网站制作流程,网站招商广告语?
如何通过网站建站时间优化SEO与用户体验?
建站上市公司网站建设方案与SEO优化服务定制指南
如何通过PHP快速构建高效问答网站功能?
宝塔建站无法访问?如何排查配置与端口问题?
如何通过虚拟机搭建网站?详细步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。