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的Django框架的运行方式及处理流程
Apr 08 Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
Python实现的求解最大公约数算法示例
May 03 Python
python爬取cnvd漏洞库信息的实例
Feb 14 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
python如何处理程序无法打开
Jun 16 Python
python能在浏览器能运行吗
Jun 17 Python
什么是python的必选参数
Jun 21 Python
python入门:argparse浅析 nargs='+'作用
Jul 12 Python
python 线程的五个状态
Sep 22 Python
利用Python多线程实现图片下载器
Mar 25 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字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHP解析RSS的方法
2015/03/05 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
layui实现点击按钮给table添加一行
2018/08/10 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python操作 hbase 数据的方法
2016/12/18 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
django url到views参数传递的实例
2019/07/19 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
利用python实现周期财务统计可视化
2019/08/25 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python实现机器人卡牌
2019/10/06 Python
Python 项目转化为so文件实例
2019/12/23 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
采购助理岗位职责
2014/02/16 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
住宅使用说明书
2014/05/09 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
2016年党建工作简报
2015/11/26 职场文书
Python基础详解之描述符
2021/04/28 Python
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
SQL SERVER触发器详解
2022/02/24 SQL Server
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript