浅谈 Python 中 ftplib 模块

 
 

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

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

1.ftp登陆连接

# 文件服务器参数ftp_param = {    'host': '10.12.8.22',    'port': 2121,    'user': 'user',    'pwd': 'uesr1234',    'points_dir': 'comm/cust_point/',    'xsl': 'xsl/dps'}
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 FTPimport logging.configlogger = 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) # 退出ftpftp.quit()
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.cwd(pathname).cwd(pathname)
ftp.dir().dir()
ftp.nlst().nlst()
ftp.mkd(pathname) .mkd(pathname
ftp.pwd().pwd()
ftp.rmd(dirname).rmd(dirname)
ftp.delete(filename)
ftp.rename(fromname, toname).rename(fromnametoname)
ftp.storbinaly("STOR filename.txt",file_handel,bufsize).storbinaly("STOR filename.txt",file_handel,bufsize)
ftp.retrbinary("RETR filename.txt",file_handel,bufsize).retrbinary("RETR filename.txt",file_handel,bufsize)

注意:

3.实例

代码已上传[Github]
地址:https://github.com/ReainL/Ftplib,代码中加入对文件内容的处理和替换。

热 门 推 荐
用Python创建微信机器人

用Python机器人监听微信群聊

用Python获取摄像头并实时控制人脸

开源项目 | 用Python美化LeetCode仓库

推荐Python中文社区旗下的几个服务类公众号
征稿启事 | Python中文社区有奖征文

640?wx_fmt=gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值