import  ftplib
import os
import socket
import sys HOST='192.168.216.193'
DIRN='c:\\ftp\FTP.123'
FILE='FTP.123'
USER_NAME=''
PWD=''
def Downloadfile(file_name):
try: f=ftplib.FTP(HOST)
except(sockt.error, socket.gaierror) as e:
print ('error: cannot reach %s' % HOST)
return print ('**** connected to host %s' % HOST) try:
f.login(USER_NAME,PWD)
except ftplib.error_perm:
print('ERROR:cannot login USER_NAME=%s,PWD=%s'%(USER_NAME,PWD))
f.quit()
return
print('*** logined in as %s ' % USER_name)
try:
f.cwd(DIRN)
except ftplib.error_perm:
print ('error :cannot cd to %s'% RIRN)
f.quit()
return
try:
file=open(file_name, 'wb')
f.retrbinary('RETR %s' %file_name,file.write)
file.close()
except ftplib.error_perm:
print('error !!')
os.unlink(filename)
file.close()
else:
print ('**** downloaded %s to %s'%(file_name ,os.getcwd()))
f.quit
return Downloadfile(123.txt)
> import ftplib
>>> f=ftplib.FTP('192.168.216.193')\ >>> f=ftplib.FTP('192.168.216.193')
>>> f.login('','')
'230 User successfully logged in.'
>>> f.cwd('FTP.123')
'250 "/ftp.123" is current directory.'
>>> f.retrbinary('RETR 123.txt',open('c:\\123.txt','wb').write)
'226 Transfer complete'

网上其他人写的脚本

#!/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','')
#连接
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','')
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 ftplib 模块关于 ftp的下载的更多相关文章

  1. Python ftplib模块

    Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例 ...

  2. python ftplib模块使用

    Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件. ftplib模块常用方法 ftp登陆连接 from ftplib import FTP #加 ...

  3. 关于Python, ftplib模块中的cwd()进入含中文目录失败的问题

    使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode c ...

  4. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  5. python中模块包的离线下载教程

    1.简介 当我们进行Python项目的迁移时(例如迁移到另外一台服务器上),如果该服务器要求离线安装, 往往需要我们将项目中的所需模块包进行离线操作. 2.教程 2.1 首先安装pip2pi模块,它可 ...

  6. python3 ftplib模块连接FTP

    from ftplib import FTP_TLS import os import re class MyFtp(FTP_TLS): """继承FTP类"& ...

  7. python之模块ftplib(实现ftp上传下载代码)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) f ...

  8. python之模块ftplib(FTP协议的客户端)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ...

  9. Python之ftplib模块

    一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...

随机推荐

  1. node——服务器根据不同请求作出不同响应+响应html文件等文件

    在浏览器中,不同的请求应该作出不同的响应 我们可以从请求req中的url获得请求的内容 然后我们就可以通过判断请求的url来做响应 代码如下: //根据用户的不同请求,服务器做出不同的响应 // // ...

  2. C文件I/O超详细教程

    本文主要参考了C Primer Plus (5th & 6th Edition) 您可以选择本文的部分内容来读,有些内容对于不熟悉MS-DOS的读者可能过于晦涩难懂. C语言文件基本知识 文件 ...

  3. S3C6410 LCD Overlay Test Program

    测试了一下S3C6410 LCD控制器提供的Overlay功能,写了一个简单的test,主要用于实现FB0和FB1之间的Overlay操作.内核选项的Windows至少要为2. 具体支持如下操作:1 ...

  4. 2019-03-25 Python Pandas 基本操作

    新建表 data1 = { "name": ["Tom", "Bob", "Mary", "James&quo ...

  5. Django REST Framework - 分页 - 渲染器 - 解析器

    为什么要使用分页? 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输过程中耗时也会 ...

  6. 接口测试及接口Jmeter工具介绍

    一.接口类型及数据传递的格式 接口类型: 1.HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高 2.WebServer接口:通过SOAP协议来获取数据,比起http来说处理更加复杂 ...

  7. Redis-server在windows下闪退

    在win7下使用Redis(windows版)很简单,只需要去Git上下载一个压缩包,解压运行即可.但是前段时间发现win10下双击redis-server既然闪退.非常不解... 在观察了错误日志才 ...

  8. 【转】Visual Studio單元測試小應用-測執行時間

    [转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單 ...

  9. 使用jmap和MAT分析JVM堆内存

    http://blog.csdn.net/alli0968/article/details/52460008

  10. ASP.NET-AuthorizeAttribute做身份验证操作

    代码顺序为:OnAuthorization-->AuthorizeCore-->HandleUnauthorizedRequest 如果AuthorizeCore返回false时,才会走H ...