Python基于FTP模块实现ftp文件上传操作示例


Posted in Python onApril 23, 2018

本文实例讲述了Python基于FTP模块实现ftp文件上传操作。分享给大家供大家参考,具体如下:

#!/usr/bin/python
#-*- coding:utf-8 -*-
from ftplib import FTP  #加载ftp模块
ftp=FTP()     #设置变量
ftp.set_debuglevel(2)  #打开调试级别2,显示详细信息
ftp.connect("IP","port") #连接的ftp sever和端口
ftp.login("user","password")#连接的用户名,密码
print ftp.getwelcome()  #打印出欢迎信息
ftp.cwd("xxx/xxx")  #更改远程目录
bufsize=1024    #设置的缓冲区大小
filename="filename.txt" #需要下载的文件
file_handle=open(filename,"wb").write
#以写模式在本地打开文件
ftp.retrbinaly("RETR filename.txt",file_handle,bufsize)
#接收服务器上文件并写入本地文件
ftp.set_debuglevel(0)  #关闭调试模式
ftp.quit     #退出ftp
ftp.dir()     #显示目录下文件信息
ftp.mkd(pathname)   #新建远程目录
ftp.pwd()     #返回当前所在位置
ftp.rmd(dirname)   #删除远程目录
ftp.delete(filename)  #删除远程文件
ftp.rename(fromname, toname)#将fromname修改名称为toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize)#上传目标文件

上传来一个简单例子

#!/usr/bin/python
#coding=utf-8
from ftplib import FTP         #引入ftp模块
import os
ftp = FTP("ip")           #设置ftp服务器地址
ftp.login('username', 'password')      #设置登录账户和密码
ftp.retrlines('LIST')          #列出文件目录
ftp.cwd('a')            #选择操作目录
ftp.retrlines('LIST')          #列出目录文件
localfile = '/mnt/NasFile/ftp测试/新功能.doc'    #设定文件位置
f = open(localfile, 'rb')        #打开文件
#file_name=os.path.split(localfile)[-1]
#ftp.storbinary('STOR %s'%file_name, f , 8192)
ftp.storbinary('STOR %s' % os.path.basename(localfile), f) #上传文件

完整版:

#coding: utf-8
import os
from ftplib import FTP
def ftpconnect(host, username, password):
  ftp = FTP()
  #ftp.set_debuglevel(2)     #打开调试级别2,显示详细信息
  ftp.connect(host, 21)     #连接
  ftp.login(username, password) #登录,如果匿名登录则用空串代替即可
  return ftp
def downloadfile(ftp, remotepath, localpath):
  bufsize = 1024        #设置缓冲块大小
  ftp.cwd('微农贷')
  fp = open(localpath,'wb')   #以写模式在本地打开文件
  ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize) #接收服务器上文件并写入本地文件
  ftp.set_debuglevel(0)     #关闭调试
  fp.close()          #关闭文件
def uploadfile(ftp, remotepath, localpath):
  bufsize = 1024
  ftp.cwd('微农贷')
  fp = open(localpath, 'rb')
  ftp.storbinary('STOR '+ remotepath , fp, bufsize) #上传文件
  ftp.set_debuglevel(0)
  fp.close()
# 使用os模块walk函数,搜索出某目录下的全部excel文件
######################获取同一个文件夹下的所有excel文件名#######################
def getFileName(filepath):
  file_list = []
  for root, dirs, files in os.walk(filepath):
    for filespath in files:
      # print(os.path.join(root, filespath))
      file_list.append(os.path.join(root, filespath))
  return file_list
if __name__ == "__main__":
  ftp = ftpconnect("ip", "账号", "密码")
  #########设置本地读取文件路径##############
  filepath='C:/pic/data/'
  file_list = getFileName(filepath)
  print len(file_list)
  for each in file_list:
    print each
    localfile=each
    remotepath=os.path.basename(localfile)
    uploadfile(ftp, remotepath, localfile)
  ftp.quit()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
详解Python的Django框架中的templates设置
May 11 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
numpy中矩阵合并的实例
Jun 15 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
Python 变量类型详解
Oct 10 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
Flask框架工厂函数用法实例分析
May 25 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 #Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 #Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 #Python
python遍历一个目录,输出所有的文件名的实例
Apr 23 #Python
python 获取文件下所有文件或目录os.walk()的实例
Apr 23 #Python
对python .txt文件读取及数据处理方法总结
Apr 23 #Python
python 读文件,然后转化为矩阵的实例
Apr 23 #Python
You might like
PHP XML数据解析代码
2010/05/26 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
js 目录列举函数
2008/11/06 Javascript
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
javascript实现固定侧边栏
2021/02/09 Javascript
Python Web框架Tornado运行和部署
2020/10/19 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
Flask数据库迁移简单介绍
2017/10/24 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Numpy之random函数使用学习
2019/01/29 Python
python图像和办公文档处理总结
2019/05/28 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
汽修专业学生自我鉴定
2013/11/16 职场文书
小学生寒假家长评语
2014/04/16 职场文书
授权收款委托书
2014/09/23 职场文书
申报优秀教师材料
2014/12/16 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
Python中的 Set 与 dict
2022/03/13 Python