python实现的简单FTP上传下载文件实例

yipeiwu_com5年前Python基础

本文实例讲述了python实现的简单FTP上传下载文件的方法。分享给大家供大家参考。具体如下:

python本身自带一个FTP模块,可以实现上传下载的函数功能。

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
from ftplib import FTP 
def ftp_up(filename = "20120904.rar"): 
  ftp=FTP() 
  ftp.set_debuglevel(2)
  #打开调试级别2,显示详细信息;0为关闭调试信息 
  ftp.connect('192.168.0.1','21')
  #连接 
  ftp.login('admin','admin')
  #登录,如果匿名登录则用空串代替即可 
  #print ftp.getwelcome()
  #显示ftp服务器欢迎信息 
  #ftp.cwd('xxx/xxx/')
  #选择操作目录 
  bufsize = 1024
  #设置缓冲块大小 
  file_handler = open(filename,'rb')
  #以读模式在本地打开文件 
  ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler,bufsize)
  #上传文件 
  ftp.set_debuglevel(0) 
  file_handler.close() 
  ftp.quit() 
  print "ftp up OK" 
def ftp_down(filename = "20120904.rar"): 
  ftp=FTP() 
  ftp.set_debuglevel(2) 
  ftp.connect('192.168.0.1','21') 
  ftp.login('admin','admin') 
  #print ftp.getwelcome()
  #显示ftp服务器欢迎信息 
  #ftp.cwd('xxx/xxx/')
  #选择操作目录 
  bufsize = 1024 
  filename = "20120904.rar" 
  file_handler = open(filename,'wb').write
  #以写模式在本地打开文件 
  ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler,bufsize)
  #接收服务器上文件并写入本地文件 
  ftp.set_debuglevel(0) 
  file_handler.close() 
  ftp.quit() 
  print "ftp down OK" 

希望本文所述对大家的Python程序设计有所帮助。

相关文章

在Python下尝试多线程编程

多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多...

scrapy-redis源码分析之发送POST请求详解

1 引言 这段时间在研究美团爬虫,用的是scrapy-redis分布式爬虫框架,奈何scrapy-redis与scrapy框架不同,默认只发送GET请求,换句话说,不能直接发送POST...

Python的string模块中的Template类字符串模板用法

string.Template() string.Template()内添加替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitut...

python excel转换csv代码实例

为了提高工作效率(偷懒),用python去解决。 工作需要,需要将excel文件转化为csv文件,要是手工的一个个去转换,每个sheet页不但有几十个字段,中间还夹杂着空格,然后按顺序转...

python对象与json相互转换的方法

在网络通信中,json是一种常用的数据格式,对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情。 下面给出两者转化的方法 # -*- cod...