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内置的字符串处理函数详细整理(覆盖日常所用)
Aug 19 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
python读取excel表格生成erlang数据
Aug 26 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
python Kmeans算法原理深入解析
Aug 23 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
基于python纯函数实现井字棋游戏
May 27 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
客户端静态页面玩分页
2006/06/26 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python 数据加密代码
2008/12/24 Python
Python动态加载模块的3种方法
2014/11/22 Python
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
Python求导数的方法
2015/05/09 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
selenium自动化测试入门实战
2020/12/21 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
前台接待的工作职责
2013/11/21 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
四年级小学生评语
2014/12/26 职场文书
运动会新闻稿
2015/07/17 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
代码解析React中setState同步和异步问题
2021/06/03 Javascript