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. EM_LGH CF965D Single-use Stones 思维_推理

    Code: #include<cstdio> #include<algorithm> using namespace std; const int maxn = 1000000 ...

  2. 密信(Mesince)首创全自动邮件加密,颠覆传统邮件加密软件

    电子邮件泄密已经成为一个全球性的日益严峻的安全问题,解决这个问题的唯一有效办法就是电子邮件内容先加密后发送.然而,使用基于S/MIME标准的传统邮件加密软件进行邮件加密,需要用户具备一定的技术基础.用 ...

  3. windows下Word使用-快捷键

    1.word全屏显示——Alt+U+V 2.上标——Ctrl+Shift+= 3.下标——Ctrl+=

  4. git--客户端管理工具初步使用

    说点废话哈 小白一枚, 今年3月份进入自己的第一家公司, 开始成为前端中的一份子,好在公司里有位和我一同进来的一位老哥带着我,从老哥身上学到的知识不多,(因为和老哥只相处工作了三个月,因为家里的事情, ...

  5. BZOJ 4006 [JLOI2015]管道连接(斯坦纳树+子集DP)

    明显是一道斯坦纳树的题. 然而这题只需要属性相同的点互相连接. 我们还是照常先套路求出\(ans[s]\). 然后对\(ans[s]\)做子集DP即可. 具体看代码. #include<iost ...

  6. JS数组中的indexOf方法

    前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...

  7. 设置PATH 环境变量、pyw格式、命令行运行python程序与多重剪贴板

    pyw格式简介: 与py类似,我认为他们俩卫衣的不同就是前者运行时候不显示终端窗口,后者显示 命令行运行python程序: 在我学习python的过程中我通常使用IDLE来运行程序,这一步骤太过繁琐( ...

  8. 如何使用JAVA请求HTTPS

    JDK对应的TLS版本(仅供参考) 1.写一个SSLClient类,继承至HttpClient import java.security.cert.CertificateException; impo ...

  9. linux内核(一)基础知识

    1,linux内核的基础知识 1.1 linux内核版本 从内核源码顶层目录Makefile中可以看到: VERSION和PATCHLEVEL组成主版本号,比如2.4.2.5.2.6等,稳定版本的德主 ...

  10. ASP.NET-datatable转换成list对象

    #region 讲DataTable转换为List对象 /// <summary> /// 利用反射将DataTable转换为List<T>对象 /// </summar ...