本文实例讲述了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
相关文章:
建站之星如何修改网站生成路径?
如何使用Golang table-driven基准测试_多组数据测量函数效率
,如何利用word制作宣传手册?
PHP正则匹配日期和时间(时间戳转换)的实例代码
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何在云服务器上快速搭建个人网站?
如何破解联通资金短缺导致的基站建设难题?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
网站制作公司排行榜,四大门户网站排名?
建站之星后台管理系统如何操作?
建站之星备案是否影响网站上线时间?
C#如何在一个XML文件中查找并替换文本内容
如何在阿里云通过域名搭建网站?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
建站主机选择指南:服务器配置与SEO优化实战技巧
如何在Golang中引入测试模块_Golang测试包导入与使用实践
香港服务器建站指南:免备案优势与SEO优化技巧全解析
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何在阿里云域名上完成建站全流程?
如何选择PHP开源工具快速搭建网站?
建站之星导航菜单设置与功能模块配置全攻略
建站之星IIS配置教程:代码生成技巧与站点搭建指南
小建面朝正北,A点实际方位是否存在偏差?
如何通过万网虚拟主机快速搭建网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何基于云服务器快速搭建网站及云盘系统?
如何配置支付宝与微信支付功能?
建站主机如何选?性能与价格怎样平衡?
如何用美橙互联一键搭建多站合一网站?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何确保FTP站点访问权限与数据传输安全?
已有域名能否直接搭建网站?
江苏网站制作公司有哪些,江苏书法考级官方网站?
建站之星图片链接生成指南:自助建站与智能设计教程
c++ stringstream用法详解_c++字符串与数字转换利器
如何用狗爹虚拟主机快速搭建网站?
建站之星微信建站一键生成小程序+多端营销系统
建站之星官网登录失败?如何快速解决?
电商平台网站制作流程,电商网站如何制作?
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过WDCP绑定主域名及创建子域名站点?
黑客入侵网站服务器的常见手法有哪些?
长沙做网站要多少钱,长沙国安网络怎么样?
宝塔Windows建站如何避免显示默认IIS页面?
如何通过二级域名建站提升品牌影响力?
高防服务器租用如何选择配置与防御等级?
*请认真填写需求信息,我们会在24小时内与您取得联系。