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实现下载网易云音乐的高清MV
Mar 16 Python
Python注释详解
Jun 01 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
python3使用pandas获取股票数据的方法
Dec 22 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Python如何获取文件路径/目录
Sep 22 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 ADODB使用方法集锦
2008/03/25 PHP
php 设计模式之 工厂模式
2008/12/19 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
php基础教程
2015/08/26 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
Python3使用requests发闪存的方法
2016/05/11 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
研究生自荐信
2013/10/09 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
医院营销工作计划
2015/01/16 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL