python实现简单ftp客户端的方法


Posted in Python onJune 28, 2015

本文实例讲述了python实现简单ftp客户端的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import ftplib
import os
import socket
HOST = 'ftp.mozilla.org'
DIRN = 'pub/mozilla.org/webtools'
FILE = 'bugzilla-3.6.9-to-3.6.10-nodocs.diff.gz'
def writedata(data):
  f = open(FILE,'wb')
  try:
    f.write(data)
  finally:
    f.close()
def main():
  try:
    f = ftplib.FTP(HOST)
  except (socket.error, socket.gaierror):
    print 'ERROR:cannot reach " %s"' % HOST
    return
  print '***Connected to host "%s"' % HOST
  try:
    f.login()
  except ftplib.error_perm:
    print 'ERROR: cannot login anonymously'
    f.quit()
    return
  print '*** Logged in as "anonymously"' 
  try:
    f.cwd(DIRN)
  except ftplib.error_perm:
    print 'ERRORL cannot CD to "%s"' % DIRN
    f.quit()
    return
  print '*** Changed to "%s" folder' % DIRN
  try:
    #传一个回调函数给retrbinary() 它在每接收一个二进制数据时都会被调用
    f.retrbinary('RETR %s' %FILE, writedata)
  except ftplib.error_perm:
    print 'ERROR: cannot read file "%s"' %FILE
    os.unlink(FILE)
  else:
    print '*** Downloaded "%s" to CWD' % FILE
  f.quit()
  return
if __name__ == '__main__':
  main()

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

Python 相关文章推荐
python定时采集摄像头图像上传ftp服务器功能实现
Dec 23 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 Python
Python随机数random模块使用指南
Sep 09 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
Python操作csv文件实例详解
Jul 31 Python
python实现textrank关键词提取
Jun 22 Python
python之消除前缀重命名的方法
Oct 21 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
python scrapy爬虫代码及填坑
Aug 12 Python
Python3 webservice接口测试代码详解
Jun 23 Python
基于进程内通讯的python聊天室实现方法
Jun 28 #Python
python实现的简单RPG游戏流程实例
Jun 28 #Python
python实现自动登录人人网并采集信息的方法
Jun 28 #Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 #Python
python实现将html表格转换成CSV文件的方法
Jun 28 #Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 #Python
python自动zip压缩目录的方法
Jun 28 #Python
You might like
PHP实现添加购物车功能
2017/03/06 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
JavaScript 创建对象
2009/07/17 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
js实现表格数据搜索
2020/08/09 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Django实现自定义404,500页面教程
2017/03/26 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Java基础知识面试题
2014/03/25 面试题
DELPHI面试题研发笔试试卷
2015/11/08 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
素质拓展感言
2014/01/29 职场文书
派出所所长先进事迹
2014/05/19 职场文书
房地产端午节活动方案
2014/08/24 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
高中语文教学反思范文
2016/02/16 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
python获取对象信息的实例详解
2021/07/07 Python
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL