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 输出一个两行字符的变量
Feb 05 Python
Python基于twisted实现简单的web服务器
Sep 29 Python
Python中分数的相关使用教程
Mar 30 Python
Python2.7简单连接与操作MySQL的方法
Apr 27 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
Python 逐行分割大txt文件的方法
Oct 10 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Python实现的建造者模式示例
Aug 06 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 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设计模式 Singleton(单例模式)
2011/06/26 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
PHP中cookie知识点学习
2018/05/06 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
python 布尔操作实现代码
2013/03/23 Python
理解Python中的With语句
2015/02/02 Python
Python常用的日期时间处理方法示例
2015/02/08 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
Python生成器(Generator)详解
2015/04/13 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
python如何通过protobuf实现rpc
2016/03/06 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
详解Python正则表达式re模块
2019/03/19 Python
使用django实现一个代码发布系统
2019/07/18 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
单身旅行者的单身假期:Just You
2018/04/08 全球购物
UNIX命令速查表
2012/03/10 面试题
企业厂长岗位职责
2013/12/17 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
营销与策划专业求职信
2014/06/20 职场文书
大国崛起观后感
2015/06/02 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS