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刷投票的脚本实现代码
Nov 08 Python
python妹子图简单爬虫实例
Jul 07 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
用Python shell简化开发
Aug 08 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
TensorFlow保存TensorBoard图像操作
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中取得image按钮传递的name值
2006/10/09 PHP
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
FCK调用方法..
2006/12/21 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
Python help()函数用法详解
2014/03/11 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
python高级特性简介
2020/08/13 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
年终晚会主持词
2014/03/25 职场文书
师范生见习报告范文
2014/11/03 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
先进教师个人总结
2015/02/11 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
无线电知识基础入门篇
2022/02/18 无线电