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实现定制交互式命令行的方法
Jul 03 Python
python实现线程池的方法
Jun 30 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
python pygame实现方向键控制小球
May 17 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
pandas参数设置的实用小技巧
Aug 23 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
python爬虫--selenium模块
Mar 31 Python
如何利用python实现列表嵌套字典取值
Jun 10 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
Apache设置虚拟WEB
2006/10/09 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php计算整个目录大小的方法
2015/06/19 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
vue实现放大镜效果
2020/09/17 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python随手笔记之标准类型内建函数
2015/12/02 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
安全标准化实施方案
2014/02/20 职场文书
心理健康日活动总结
2014/05/08 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
初中成绩单评语
2014/12/29 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
行政司机岗位职责
2015/04/10 职场文书
捐款通知怎么写
2015/04/24 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python