返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的FTP通信模块ftplib的用法整理
  • 638
分享到

Python中的FTP通信模块ftplib的用法整理

模块通信Python 2022-06-04 18:06:30 638人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连接 from

python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件.
FTP的工作流程及基本操作可参考协议RFC959.

ftp登陆连接


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

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文件

实例

一个上传代码:

import Socket
from ftplib import FTP
ftp_server='xx.xx.xx.xx'
ftp_user='xxxxx'
ftp_password='xxxxx'
ftp_backup_dir='backup'
 
newday = date.today()  #获取今天的日期
oldday = date.today()-timedelta(5)  #获得5天前的日期
newfile = '/home/backup/' + 'backup_data_' + str(newday.year) + '.' + str(newday.month) + '.' + str(newday.day) + '.zip'  #本次备份文件名(绝对路径)
oldfile = '/home/backup/' + 'backup_data_' + str(oldday.year) + '.' + str(oldday.month) + '.' + str(oldday.day) + '.zip'  #5天前备份的文件名(绝对路径)
 
def upload():
  socket.setdefaulttimeout(60)  #超时FTP时间设置为60秒
  ftp = FTP(ftp_server)
  print("login ftp...")
  try:
    ftp.login(ftp_user, ftp_password)
    print(ftp.getwelcome())  #获得欢迎信息
 
    try:
      if ftp_backup_dir in ftp.nlst():
        print("found backup folder in ftp server, upload processing.")
      else:
        print("don't found backup folder in ftp server, try to build it.")
        ftp.mkd(ftp_backup_dir)
    except:
      print("the folder" + ftp_backup_dir + "doesn't exits and can't be create!")
      sys.exit()
  except:
    print("ftp login failed.exit.")
    sys.exit()
  ftp.cwd(ftp_backup_dir)  #设置FTP路径
 
  print("upload data...")
  try:
    ftp.storbinary('STOR ' + os.path.basename(newfile), open(newfile,'rb'), 1024)  #上传备份文件
  except:
    print("upload failed. check your permission.")
  
  print("delte old file...")
  try:
    ftp.delete(os.path.basename(oldfile))  #删除5天前的备份文件
  except:
    print("the old file in ftp doesn't exists, jumped.")
 
  print("ftp upload successful.exit...")
  ftp.quit()
 
if __name__== '__main__':
  upload()

--结束END--

本文标题: Python中的FTP通信模块ftplib的用法整理

本文链接: https://lsjlt.com/news/14485.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中的FTP通信模块ftplib的用法整理
    Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连接 from ...
    99+
    2022-06-04
    模块 通信 Python
  • Python random模块用法整理
    随机数在计算机科学领域扮演着重要的角色,用于模拟真实世界的随机性、数据生成、密码学等多个领域。Python 中的 random 模块提供了丰富的随机数生成功能,本文整理了 random 模块的使用。 ...
    99+
    2023-09-02
    python random
  • Python中的xlrd模块使用整理
    目录1.简述:2.xlrd模块的基本操作2.1打开excel文件获取book对象2.2获取xlrd.book.Book 对象中的所有sheet名称2.3获取xlrd.book.Book对象中的所有sheet对象2.4...
    99+
    2022-06-02
    xlrd模块的使用 Python xlrd模块
  • 如何在Python中进行模块间的通信
    如何在Python中进行模块间的通信在Python中,模块间的通信是非常常见的需求。模块间的通信可以帮助我们实现功能的拆分和解耦,使代码处理更加清晰和灵活。本文将介绍几种常见的在Python中进行模块间通信的方法,并给出具体的代码示例。全局...
    99+
    2023-10-22
    Python模块间通信 模块间数据交互 Python通信机制
  • Python的math模块中的常用数学函数整理
    在数学之中,除了加减乘除四则运算之外——这是小学数学——还有其它更多的运算,比如乘方、开方、对数运算等等,要实现这些运算,需要用到 Python 中的一个模块:Math 模块(module)是 Python...
    99+
    2022-06-04
    函数 模块 常用
  • Python中模块的使用--binascii模块用法
    目录binascii模块用法binascii模块和进制转换笔记 Python内置函数binascii模块用法 binascii模块用于在二进制和ASCII之间转换 >...
    99+
    2024-04-02
  • Python DateTime的模块如何在相关类方法中的整理
    Python DateTime的模块如何在相关类方法中的整理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。相关联的模块还有time与calendar 其中的time我们上面已经...
    99+
    2023-06-17
  • python中decimal模块的用法
    目录1. Decimal类型的优点2. decimal模块的构成3. context4. Signals5. Round类型查看python3.4.1文档,发现对于decimal模块...
    99+
    2023-02-19
    python decimal模块 python decimal
  • Python中的itertools模块的用法
    本篇内容主要讲解“Python中的itertools模块的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的itertools模块的用法”吧!在Python中有一个功能强大的迭代...
    99+
    2023-06-16
  • angular模块间通信的方法是什么
    在Angular中,模块间通信的方法有多种,下面是一些常用的方法:1. 通过共享服务进行通信:创建一个共享服务,可以在多个模块中注入...
    99+
    2023-10-11
    angular
  • Android React Native原生模块与JS模块通信的方法总结
    Android React Native原生模块与JS模块通信的方法总结 前言: 在做React Native开发的时候避免不了的需要原生模块和JS之间进行数据传递,这篇文章将...
    99+
    2022-06-06
    模块 方法 native 通信 js React Android
  • Python中的Beautiful Soup模块的用法
    这篇文章主要介绍“Python中的Beautiful Soup模块的用法”,在日常操作中,相信很多人在Python中的Beautiful Soup模块的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pyt...
    99+
    2023-06-02
  • Python中的time模块与datetime模块用法总结
    time模块 time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间 import time # time.struct...
    99+
    2022-06-04
    模块 Python time
  • Python中time模块和datetime模块的用法示例
    time模块方法: time.time():获取当前时间的时间戳 time.localtime():接受一个时间戳,并把它转化为一个当前时间的元组。不给参数的话就会默认将time.time()作为参数传入 ...
    99+
    2022-06-04
    模块 示例 Python
  • Node.js中对通用模块的封装方法
    在Node.js中对模块载入和执行进行了包装,使得模块文件中的变量在一个闭包中,不会污染全局变量,和他人冲突。 前端模块通常是我们开发人员为了避免和他人冲突才把模块代码放置在一个闭包中。 如何封装Node....
    99+
    2022-06-04
    中对 模块 方法
  • Python中os模块的实例用法
    1、说明 os.path.exists():用于判断某个路径(文件或文件夹)是否存在,若存在则返回True,若不存在则返回False。 os.makedirs():用于创建文件夹。传入所欲创建的文件夹的路径即可,没有...
    99+
    2022-06-02
    Python os模块
  • 详解Python中heapq模块的用法
    heapq 模块提供了堆算法。heapq是一种子节点和父节点排序的树形数据结构。这个模块提供heap[k] <= heap[2*k+1] and heap[k] <= heap[2*k+2]。为...
    99+
    2022-06-04
    详解 模块 Python
  • python中elasticsearch_dsl模块的使用方法
    目录前言连接elasticsearchelasticsearch_dsl.Searchquery方法filter方法index方法elasticsearch_dsl.queryela...
    99+
    2024-04-02
  • python中sys模块的使用方法
    小编给大家分享一下python中sys模块的使用方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted...
    99+
    2023-06-14
  • Python中concurrent.futures模块的使用方法
    这篇文章主要介绍了Python中concurrent.futures模块的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、说明标准库为我们提供了concurrent...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作