专栏首页Python攻城狮浅谈Python中ftplib模块1.ftp登陆连接2.FTP相关命令操作3.实例

浅谈Python中ftplib模块1.ftp登陆连接2.FTP相关命令操作3.实例

工作需要,需要对FTP协议下的各种文件进行上传下载操作,所以了解下Python中的ftplib模块。Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件,有需要的可以看过来了。

先打个底:以理解为主,不够全面,如果看完还是不会,那一定是我写的不够好。

1.ftp登陆连接

  • 先设置FTP连接的参数
# 文件服务器参数
ftp_param = {
    'host': '10.12.8.22',
    'port': 2121,
    'user': 'user',
    'pwd': 'uesr1234',
    'points_dir': 'comm/cust_point/',
    'xsl': 'xsl/dps'
}
  • 登录连接
# 引入FTP模块
from ftplib import FTP
import logging.config

logger = logging.getLogger(__name__)

# 设置变量
ftp=FTP()

 #连接的ftp sever和端口
ftp.connect(ftp_param['host'], ftp_param['port'])

# 登录
ftp.login(ftp_param['user'], ftp_param['pwd'])

# 打印欢迎信息
logger.debug(ftp.getwelcome())

# 进入远程目录
ftp.cwd(ftp_param['xsl'])

 # 需要下载的文件
filename="xsl.txt"

# 以写的模式在本地打开文件
file_handle=open(filename,"wb").write

# 接收服务器上文件并写入本地文件
ftp.retrbinaly("RETR xsl.txt",file_handle,bufsize) 

# 退出ftp
ftp.quit()

2.FTP相关命令操作

  • 设置FTP当前操作的路径
ftp.cwd(pathname)
  • 显示目录下所有目录信息
ftp.dir()
  • 获取目录下的文件
ftp.nlst()
  • 新建远程目录
ftp.mkd(pathname) 
  • 返回当前所在位置
ftp.pwd()
  • 删除远程目录
ftp.rmd(dirname)
  • 删除远程文件
ftp.delete(filename)
  • 将fromname修改名称为toname
ftp.rename(fromname, toname)
  • 上传目标文件
ftp.storbinaly("STOR filename.txt",file_handel,bufsize)
  • 下载FTP文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)

注意:

  • FTP.quit():发送QUIT命令给服务器并关闭掉连接。这是一个比较“缓和”的关闭连接方式,但是如果服务器对QUIT命令返回错误时,会抛出异常。
  • FTP.close():单方面的关闭掉连接,不应该用在已经关闭的连接之后,例如不应用在FTP.quit()之后。

3.实例

写了这么久,都只是简单的用法,缺少实例,敏感的我,读完以后仿佛感受到看这篇文章的人一股满满的期望与失落混杂的无奈感。放心~当然有实例了。代码已上传Github,代码中加入对文件内容的处理和替换,谢谢随手点赞。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git的使用1.Git简介2.安装3.远程仓库4.本地仓库

    博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。

    意气相许的许
  • GitHub 系列之「Git速成」1.什么是Git?2.Git 安装3.Git 命令列表4.Git 具体命令

    Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也...

    意气相许的许
  • Python数据科学(五)- 数据处理和数据采集1.处理不同格式的数据2.网络爬虫3.小试牛刀

    最近因为工作的事比较忙,要学的东西也很多,没有及时更新,下一阶段我会尽力一天一更的,一块学习的朋友跟紧不走丢ヽ(ˋ▽ˊ)ノ

    意气相许的许
  • 利用python实现ftp的文件读写

    py3study
  • python应用系列教程——python

    ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp.connect(“IP”,”port...

    py3study
  • 004.FTP匿名用户访问

    提示:由于主目录权限中其他人(ftp用户对此目录所属用户和所属组而言是其他人)不具有可读,因此无法上传文件。

    木二
  • python搭建FTP服务器之FTP上传和下载

    Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下

    周小董
  • 003.FTP客户端连接

    1:命令行连接不支持目录下载,使用mget也只会将目录下文件下载,不会下载目录本身。

    木二
  • 基于VSFTP的本地YUM源搭建

    sabergo
  • 跨越时空的……

    这个段子,跟我要说的其实也没什么关系,只是突然联想起来。昨天情人节,GitHub 将其导航栏由以下这样的风格:

    用户2617681

扫码关注云+社区

领取腾讯云代金券