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 ...
随机推荐
- 洛谷P1816 忠诚 分块
分块真的是很暴力呀… 暴力查询左端,暴力查询又端点,中间整体部分直接 $O(1)$ 求出. 注意编程细节:belong[i]=(i−1)/block+1,这样可以保证序列被分成这样的: Code: # ...
- 路飞学城Python-Day27(复习)
简单的socket通信 import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect( ...
- Day 03 知识点[python程序运行的方式、变量、注释、内存管理、数据类型]
执行Python程序的两种方式 第一种:交互式,在cmd中运行 优点:调试程序方便,直接给出结果 缺点:无法保存,关掉cmd窗口数据就消失 第二种:命令行式通过cmd中输入Python3文本 优点:数 ...
- NuSOAP笔记:如何创建复杂数据类型
PHP已经有了内置的SOAP扩展,但是它不具备自动生成WSDL的能力,所以很多时候,NuSOAP还是有一定诱惑力的. 在应用稍微复杂点的时候,单靠integer, string等简单数据类型是不能满足 ...
- freeswitch 一些坑
1.You must install libopus-dev to build mod_opus. Stop. 确实已经安装libopus-dev后 将文件 usr/local/src/mod/cod ...
- 大数据相关文档&Api下载
IT相关文档&Api下载(不断更新中) 下载地址:https://download.csdn.net/user/qq_42797237/uploads 如有没有你需要的API,可和我留言,留下 ...
- JSp获取到当前用户的全部session
<%@page import="java.util.Enumeration"%> <% for (Enumeration<?> e = session ...
- windows服务器剪贴板不能共用的解决办法
远程桌面无法使用剪贴板共享纯文本的解决方法========================================以下操作须在远程桌面上操作,本地机没用的!================== ...
- 阿里云server部署架构
近期要上马一个项目,客户要求所有部署到阿里云的server,做了一个阿里云的部署方案. 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGx ...
- Hive编程指南_学习笔记01
第四章: HQl的数据定义 1:创建数据库 create database financials; create database if not exists financials; 2: ...