Python之ftplib模块
一、引言:
某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况。为了重现开发哥们所说情况,我就自己用pytho写了一个ftp的脚本,其中就有调用ftplib模块。下面重点介绍一下ftplib模块。
二、ftplib模块介绍:
ftplib是python的内置的一个标准模块,它提供了极强大的对FTP服务器的操作,通过它我们可以连接并操作FTP服务端。
#!/usr/bin/env python
# -*- coding=utf-8 -*- from ftplib import FTP
import sys
import threading def ftpconnect():
#ftp服务器的IP
ftp_server = '192.168.2.100'
#ftp的用户名
username = 'Richard'
#用户的密码
password = 'Richard'
#创建一个ftp的实例
ftp=FTP()
#打开调试级别2,显示详细信息
ftp.set_debuglevel(2)
#连接ftp服务器,需要输入IP,端口,以及超时时间
ftp.connect(ftp_server,2100,600)
#连接的用户名、密码
ftp.login(username,password)
return ftp def downloadfile():
#需要将下载文件存在的路径和文件名
remotepath = sys.argv[2]
#连接ftp服务器
ftp = ftpconnect()
#获得欢迎信息
print ftp.getwelcome() bufsize = 10240
localpath = '/root/Richard.txt'
with open(localpath,'wb') as fp:
# fp = open(localpath,'wb')
ftp.retrbinary('RETR ' + remotepath,fp.write,bufsize)
print ("hello")
ftp.set_debuglevel(0)
# fp.close()
ftp.quit() def uploaded(filename):
ftp = ftpconnect()
remotepath = "/Richard/%s"%filename
print ftp.getwelcome()
bufsize = 1024
localpath = '/var/ftp/Richard/%s' %filename
with open(localpath,'wb') as fp:
# fp = open(localpath,'rb')
ftp.storbinary('STOR ' + remotepath,fp,bufsize)
ftp.set_debuglevel(0)
# fp.close()
ftp.quit() def ftp_multithreading(func,filename):
t = threading.Thread( target = func,args=(filename,) )
t.start() if __name__ == "__main__":
ftp_multithreading(sys.argv[1],sys.argv[2])
未完待续。。。
Python之ftplib模块的更多相关文章
- python的ftplib模块
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- python使用ftplib模块实现FTP文件的上传下载
python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...
- Python中ftplib模块的使用
ftplib模块的主要接口 # from ftplib import FTP #加载ftp模块 # ftp=FTP() #设置变量 # ftp.set_debuglevel(2) #打开调试级别2,显 ...
- 关于Python, ftplib模块中的cwd()进入含中文目录失败的问题
使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode c ...
- 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 #加 ...
- ftplib模块【python】
转自:http://www.cnblogs.com/kaituorensheng/p/4480512.html 函数释义 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实 ...
- python中的ftplib模块
前言 Python中默认安装的ftplib模块定义了FTP类. ftplib模块相关参数: 加载ftp模块:from ftplib import FTP ftp = FTP()#设置变量ftp.set ...
- python标准库:ftplib模块
ftplib模块包含了文件传输协议(FTP)客户端的实现. 下面的例子展示了如何登入和获取进入目录的列表,dir函数传入一个回调函数,该回调函数在服务器相应时每一行调用一次.ftplib模块默认的回调 ...
随机推荐
- [LintCode] Roman to Integer 罗马数字转化成整数
Given a roman numeral, convert it to an integer. The answer is guaranteed to be within the range fro ...
- [LintCode] Parking Lot 停车场问题
Design a parking lot. see CC150 OO Design for details.1) n levels, each level has m rows of spots an ...
- 关闭CentOS不必要的开机启动项
命令行: for i in `chkconfig --list |grep 3:on|awk '{print $1}' |grep -Ev "network|sshd|sysstat|ude ...
- 读《深入php面向对象、模式与实践》有感(三)
命令模式: 第一次接触到这个命令模式的时候,感觉它很像一个简化的mvc框架.从不同的路径访问,再由控制器来判断所要调用的具体php文件. <?php class CommandContext{ ...
- 复选框,:checked
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- rman恢复误删除的一张表(不完全恢复)
恢复误删除的一张表可以使用很多方法,如日志挖掘.闪回等,rman恢复(不完全恢复)肯定不是最好的,也不建议用, 现在我们只是演示一下这种恢复. 1 RMAN备份数据库 2创建测试表 3查看此时的SCN ...
- java 与c#比较
1.开发周期方面:c#比java开发周期更快2.java出现的时间更长.开源性广.跨平台性好3.c#较为封闭.后出于java4.c#有无符号类型.java没有5.java与c#都有值类型.但是java ...
- MyEclipse修改项目名称后,部署到tomcat问题
问题描述: 修改项目名称后,部署到tomcat server,部署出来的文件夹名还是旧的名称. 解决方案: 光把项目重命名是不够的,还要修改一下Myeclipse里面的配置. 工程名->右键-& ...
- php实现单个用户禁止重复登录,防止同一用户同时登陆
<?php session_start(); //ini_set('session.auto_start', 0); //关闭session自动启动 //ini_set('session.coo ...
- php一些特殊函数的使用实例详解
<?php /* * PHP Array 函数大全 * * array() 创建数组. 3 array_change_key_case() 返回其键均为大写或小写的数组. 4 array_chu ...