python文件传输模块ftplib模块的使用
python文件传输模块ftplib模块的使用
文章目录:
- 一、ftplib介绍
- 1、ftplib的简单介绍
- 2、ftp的API说明
- 1)ftp登陆连接
- 2)ftp相关命令操作
- 二、ftplib实例说明
- 1、客户端`连接`和`登陆`服务器
- 1、客户端`上传文件`到远程服务器
- 3、客户端从远程服务器`下载文件`
- 4、调用实例
最全的教程当然还是官网给出的文档
官网地址【——>这里】
一、ftplib介绍
1、ftplib的简单介绍
Python中默认安装的ftplib模块定义了FTP类
,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件。目前最新的ftplib版本是3.7.3
如果你想了解关于FTP协议的更多知识请参考这里:【——>】
2、ftp的API说明
1)ftp登陆连接
ftp在文件传输的时候,客户端需要首先获取服务端的用户名
、IP地址
以及登陆密码
,上传服务器端口一般是21。
from ftplib import FTP #加载ftp模块
ftp=FTP() #设置变量
ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
ftp.connect("IP","port") #连接的ftp sever和端口
ftp.login("user","password")#连接的用户名,密码
print ftp.getwelcome() #打印出欢迎信息
ftp.cmd("xxx/xxx") #更改远程目录
bufsize=1024 #设置的缓冲区大小
filename="filename.txt" #需要下载的文件
file_handle=open(filename,"wb").write #以写模式在本地打开文件
ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服务器上文件并写入本地文件
ftp.set_debuglevel(0) #关闭调试模式
ftp.quit #退出ftp
2)ftp相关命令操作
ftp.cwd(pathname) #设置FTP当前操作的路径
ftp.dir() #显示目录下文件信息
ftp.nlst() #获取目录下的文件
ftp.mkd(pathname) #新建远程目录
ftp.pwd() #返回当前所在位置
ftp.rmd(dirname) #删除远程目录
ftp.delete(filename) #删除远程文件
ftp.rename(fromname, toname)#将fromname修改名称为toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上传目标文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下载FTP文件
二、ftplib实例说明
下面举例说明ftplib的使用,主要分为三部分:
- 1、客户端
连接
和登陆
服务器 - 2、客户端上传文件到远程服务器
- 3、客户端从远程服务器下载文件
1、客户端连接
和登陆
服务器
1、连接和登陆
from ftplib import FTPdef ftpconnect(host, username, password):ftp = FTP()ftp.set_debuglevel(2)ftp.connect(host, 21)# ftp.set_pasv(False)ftp.login(username, password)return ftp
成功登陆会返回登陆成功的信息,其实返回的是调试信息,如果ftp.set_debuglevel(2)改为ftp.set_debuglevel(0),调试等级为 0 的时候就不会输出这些信息啦。
2、错误
如果你遇到登陆的时候出现Timeout
超时的错误,请参考这里
1、客户端上传文件
到远程服务器
def uploadfile(ftp, remotepath, localfile):bufsize = 2048fp = open(localfile, 'rb') # 这里读取的是一个二进制的文件,所以上传的本地路径不可以是文件夹ftp.storbinary('STOR ' + remotepath, fp, bufsize)ftp.set_debuglevel(0)fp.close()
3、客户端从远程服务器下载文件
def downloadfile(ftp, remotepath, localpath):bufsize = 1024fp = open(localpath, 'wb') # 以写模式在本地打开文件ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize) # #接收服务器上文件并写入本地文件ftp.set_debuglevel(0) # #关闭调试模式fp.close()
4、调用实例
if __name__ == "__main__":# ftp = ftpconnect("47.110.230.124", "admin", "123456")#downloadfile(ftp, "/sss.txt", "sss.txt")# uploadfile(ftp, "/test.py", "test.py") # 本地的test.py 文件上传到服务器上名字也为test.py,当然也可以命名为其他名字# uploadfile(ftp, "/home", "picture.png") # 本地的ficture.png文件上传到服务器的/home目录下# ftp.quit()
参考:
1、https://blog.csdn.net/luanpeng825485697/article/details/78361730
2、https://docs.python.org/3/library/ftplib.html
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠
python文件传输模块ftplib模块的使用相关推荐
- 每个python文件就是一个模块、模块的名字就是_每个Python文件都可以作为一个模块,模块的名字就是 的名字_学小易找答案...
[单选题]9.3 The management of XYZ Co has annual credit sales of $20 million and accounts receivable of ...
- python文件操作和模块
目录 文件操作 文件备份 文件定位 模块导入 os模块制作 文件操作 文件操作的一般步骤: 打开文件.读/写文件 .保存文件 .关闭文件 打开文件用open函数,一般我们默认的编码是gbk,最好的习惯 ...
- python文件操作和模块_Python(五)--模块与文件操作
Python(五)–模块与文件操作 模块和包 模块 模块是包含Python定义和语句的文件,把一组相关函数或代码组织到一个文件中,一个文件即一个模块.模块的文件名 = 模块名+后缀.py 模块之间代码 ...
- python文件传输模块_[宜配屋]听图阁 - python 使用poster模块进行http方式的文件传输到服务器的方法...
这几天帮内部人员做一个文件传输的小工具,要用http的方式,在用django搭建了个小框架之后,如何进行传输,特别是大文件的传输,成为主要问题.经过查资料,最后选择了通过poster这个模块来进行文件 ...
- python文件传输模块_如何将python对象从一个文件模块传递到另一个文件模块?
我试图用python和selenium实现页面对象模型.为此,我有两个模块: 登录页.pyclass LoginPage: def __init__(self, driver): self.drive ...
- python 文件操作的模块_Python之文件操作修改模块
1.使用OS模块进行path路径操作 操作的语法为os.path.方法名(): import os # 首先导入os模块 *abspath()方法:获取当前文件的全路径,所带参数为file: file ...
- Python文件处理os模块介绍 -*- Python基础知识12 -*-
文件处理 打开文件 open file mode encoding 操作文件 读取文档 逐个读取read 逐行读取 文件读取位置 写入文档 write 关闭文件 close with... as... ...
- python 文件操作 os模块和shutil模块
转载自:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html ############################## ...
- Python文件操作-shutil 模块(参考)
shutil 模块 1. shutil.copyfile( src, dst) 从源src复制到dst中去.当然前提是目标地址是具备可写权限.抛出的异常信息为 IOException. 如果当前的ds ...
最新文章
- 百度UEditor开发案例(JSP)
- 如何优化cocos2d程序的内存使用和程序大小:第一部分
- 互联网Scratch编程趣味课:不插电编程和计算机对话[图]
- Angular19 自定义表单控件
- docker删除镜像命令_第三章 Docker常用命令之镜像命令
- 学习笔记之12个月提升计划
- qq linux版本下载官网下载,腾讯QQ For Linux
- 深入理解HDFS:Hadoop分布式文件系统
- 地铁建设 (Standard IO)
- AI队列长度检测:使用YOLO进行视频中的对象检测
- 面向对象编程:包,继承,多态,抽象类,接口
- 单链表的实现 (C语言版 数据结构 严蔚敏)
- Arm云游戏及虚拟化技术沙龙,Arm中国,NVIDIA,腾讯及百度等为你分享超强技术干货
- 电子数据取证基础知识5
- UniApp开发社交社区
- DataMatrix 编码生成和译码原理即方法
- 使用 yarn 安装时,报错node_modules\node sass:Command failed.
- 西门子KTP二代精简触摸屏点击无反应,触摸失效的处理对策
- C# 使用SqlDataReader读取数据库数据
- 服务器系统升级文件转移,多可系统迁移说明
热门文章
- 配置ssh_config
- [原创]浅谈持续集成在测试中的应用
- HDU-1541 Stars 树状数组
- 你的vs.net 2005过期了吗?
- python基础教程视频(全13集)-Python基础视频教程(600集)【传智播客精品教程】...
- python在线教学-python在线教学
- 关于python的一些好的书籍推荐-推荐几本关于的Python好书
- python语言中文社区-python中用中文
- python爬虫软件-8个最高效的Python爬虫框架,你用过几个?
- python比c语言好学吗-C 和 Python语言先学哪个好?