Python ftplib 模块关于 ftp的下载
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的下载的更多相关文章
- Python ftplib模块
Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例 ...
- python ftplib模块使用
Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件. ftplib模块常用方法 ftp登陆连接 from ftplib import FTP #加 ...
- 关于Python, ftplib模块中的cwd()进入含中文目录失败的问题
使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode c ...
- python使用ftplib模块实现FTP文件的上传下载
python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...
- python中模块包的离线下载教程
1.简介 当我们进行Python项目的迁移时(例如迁移到另外一台服务器上),如果该服务器要求离线安装, 往往需要我们将项目中的所需模块包进行离线操作. 2.教程 2.1 首先安装pip2pi模块,它可 ...
- python3 ftplib模块连接FTP
from ftplib import FTP_TLS import os import re class MyFtp(FTP_TLS): """继承FTP类"& ...
- python之模块ftplib(实现ftp上传下载代码)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) f ...
- python之模块ftplib(FTP协议的客户端)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ...
- Python之ftplib模块
一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...
随机推荐
- jQuery $.ajax跨域-JSONP获取JSON数据(转载)
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...
- 2019-03-25 Python Pandas 基本操作
新建表 data1 = { "name": ["Tom", "Bob", "Mary", "James&quo ...
- NOIP2018提高组金牌训练营——字符串专题
NOIP2018提高组金牌训练营——字符串专题 1154 回文串划分 有一个字符串S,求S最少可以被划分为多少个回文串. 例如:abbaabaa,有多种划分方式. a|bb|aabaa - 3 个 ...
- 【codeforces 746E】Numbers Exchange
[题目链接]:http://codeforces.com/problemset/problem/746/E [题意] 你有n张卡片,上面写着不同的数字; 然后另外一个人有m张上面写着不同的数字的卡片: ...
- 使用 Xshell 连接 linux 系统
一.下载 Xshell 链接:https://pan.baidu.com/s/1htwqpzm 密码:zau7 二.安装 Xshell 无脑下一步就可以了 三.连接 linux 四.安装 Xftp h ...
- tomcat的连接数与线程池
在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章中写到过:Connector的主要功能,是接收连接 ...
- SQL SERVER-主键的建立和删除
PRIMARY KEY 约束唯一标识数据库表中的每条记录.主键必须包含唯一的值.主键列不能包含 NULL 值.每个表都应该有一个主键,并且每个表只能有一个主键.主键约束操作包含了添加约束和删除约束,修 ...
- [cocos2dx笔记013]一个使用CCRenderTexture创建动态纹理显示数字的类
用CCLabelTTF显示的数字不好看.于是就想到用图片来代理.眼下网上的实现都是把每一个数字做一个CCSprite组合的方式. 可是我想.动态生成纹理的方式.没有就仅仅好自己手动写一个. 头文件 # ...
- luogu 2308添加括号
添加括号 传送门 题目大意 现在要添上n-1对括号,加法运算依括号顺序进行,得到n-1个中间和,求出使中间和之和最小的添括号方法. 这道题其实是一个很简单的区间dp,中间和的意思是括号里面的和,也就是 ...
- quartz.net定时任务框架详解
C#做定时任务:一是Timer:而是Quartz.net:本文就学习一下Quartz.net框架 Quartz.net非常的灵活,开发人员能用很少的代码就能完成“每隔一小时执行”.“每天2点执行”.“ ...