Python模块之ftplib


本文目的:利用Python中默认安装的ftplib模块定义的FTP类,实现文件上传、下载,以及获取FTPServer端文件信息。

一、FTP相关命令

  • FTP连接登录
from ftplib import FTP #加载ftp模块
ftp=FTP() #定义实例对象
ftp.set_debuglevel(0) #关闭调试模式
ftp.connect("host","port") #连接的ftp sever和端口
ftp.login("user","password")#连接的用户名,密码
print(ftp.getwelcome()) #打印出欢迎信息
ftp.cmd(remotepath) #更改远程目录
ftp.close() #退出ftp
  • FTP下载
bufsize=1024 #设置的缓冲区大小
#接收服务器上文件并写入本地文件
with open(filename,"wb") as fid:
	ftp.retrbinaly("RETR " + filename,fid.write,bufsize) 
  • FTP上传
bufsize=1024 #设置的缓冲区大小
#接收服务器上文件并写入本地文件
with open(filename,"rb") as fid:
	ftp.storbinaly("STOR " + filename,fid,bufsize) 
  • 文件清单
ftp.dir(remotepath) #显示目录下所有目录信息,支持通配符
ftp.nlst(remotepath) #返回目录下的文件列表,支持通配符
  • 文件增删改
ftp.mkd(pathname) #新建远程目录
ftp.rmd(dirname) #删除远程目录
ftp.delete(filename) #删除远程文件
ftp.rename(oldname, newname) #将oldname修改名称为newname

二、FTP方法

1. ftp获取文件修改时间两种方法

  1. 通过ftp.sendcmd('mdtm ' + filename)
    返回’213 20200407031112’
  2. 通过dateutil.parser.parse
    dateutil.parser模块介绍
>>> import dateutil.parser
>>> dateutil.parser.parse("Jan 20 15:04").strftime("%Y%m%d%H%M%S")
'20200120150400'

2. dir获取文件信息列表

创建一个空列表,用于存储文件信息。

filelist = []
ftp.dir(path, filelist.append)
for i in filelist:
	j = i.split() 

j[4]对应文件大小
j[5:8]对应文件时间
j[8]对应文件名

3.FTP脚本案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值