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模块的使用相关推荐

  1. 每个python文件就是一个模块、模块的名字就是_每个Python文件都可以作为一个模块,模块的名字就是 的名字_学小易找答案...

    [单选题]9.3 The management of XYZ Co has annual credit sales of $20 million and accounts receivable of ...

  2. python文件操作和模块

    目录 文件操作 文件备份 文件定位 模块导入 os模块制作 文件操作 文件操作的一般步骤: 打开文件.读/写文件 .保存文件 .关闭文件 打开文件用open函数,一般我们默认的编码是gbk,最好的习惯 ...

  3. python文件操作和模块_Python(五)--模块与文件操作

    Python(五)–模块与文件操作 模块和包 模块 模块是包含Python定义和语句的文件,把一组相关函数或代码组织到一个文件中,一个文件即一个模块.模块的文件名 = 模块名+后缀.py 模块之间代码 ...

  4. python文件传输模块_[宜配屋]听图阁 - python 使用poster模块进行http方式的文件传输到服务器的方法...

    这几天帮内部人员做一个文件传输的小工具,要用http的方式,在用django搭建了个小框架之后,如何进行传输,特别是大文件的传输,成为主要问题.经过查资料,最后选择了通过poster这个模块来进行文件 ...

  5. python文件传输模块_如何将python对象从一个文件模块传递到另一个文件模块?

    我试图用python和selenium实现页面对象模型.为此,我有两个模块: 登录页.pyclass LoginPage: def __init__(self, driver): self.drive ...

  6. python 文件操作的模块_Python之文件操作修改模块

    1.使用OS模块进行path路径操作 操作的语法为os.path.方法名(): import os # 首先导入os模块 *abspath()方法:获取当前文件的全路径,所带参数为file: file ...

  7. Python文件处理os模块介绍 -*- Python基础知识12 -*-

    文件处理 打开文件 open file mode encoding 操作文件 读取文档 逐个读取read 逐行读取 文件读取位置 写入文档 write 关闭文件 close with... as... ...

  8. python 文件操作 os模块和shutil模块

    转载自:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html ############################## ...

  9. Python文件操作-shutil 模块(参考)

    shutil 模块 1. shutil.copyfile( src, dst) 从源src复制到dst中去.当然前提是目标地址是具备可写权限.抛出的异常信息为 IOException. 如果当前的ds ...

最新文章

  1. 百度UEditor开发案例(JSP)
  2. 如何优化cocos2d程序的内存使用和程序大小:第一部分
  3. 互联网Scratch编程趣味课:不插电编程和计算机对话[图]
  4. Angular19 自定义表单控件
  5. docker删除镜像命令_第三章 Docker常用命令之镜像命令
  6. 学习笔记之12个月提升计划
  7. qq linux版本下载官网下载,腾讯QQ For Linux
  8. 深入理解HDFS:Hadoop分布式文件系统
  9. 地铁建设 (Standard IO)
  10. AI队列长度检测:使用YOLO进行视频中的对象检测
  11. 面向对象编程:包,继承,多态,抽象类,接口
  12. 单链表的实现 (C语言版 数据结构 严蔚敏)
  13. Arm云游戏及虚拟化技术沙龙,Arm中国,NVIDIA,腾讯及百度等为你分享超强技术干货
  14. 电子数据取证基础知识5
  15. UniApp开发社交社区
  16. DataMatrix 编码生成和译码原理即方法
  17. 使用 yarn 安装时,报错node_modules\node sass:Command failed.
  18. 西门子KTP二代精简触摸屏点击无反应,触摸失效的处理对策
  19. C# 使用SqlDataReader读取数据库数据
  20. 服务器系统升级文件转移,多可系统迁移说明

热门文章

  1. 配置ssh_config
  2. [原创]浅谈持续集成在测试中的应用
  3. HDU-1541 Stars 树状数组
  4. 你的vs.net 2005过期了吗?
  5. python基础教程视频(全13集)-Python基础视频教程(600集)【传智播客精品教程】...
  6. python在线教学-python在线教学
  7. 关于python的一些好的书籍推荐-推荐几本关于的Python好书
  8. python语言中文社区-python中用中文
  9. python爬虫软件-8个最高效的Python爬虫框架,你用过几个?
  10. python比c语言好学吗-C 和 Python语言先学哪个好?