Python 连接 ftp 服务器操作

  • 1. 连接 ftp 服务器
  • 2. 基本命令

1. 连接 ftp 服务器

代码如下

# !/usr/bin/python
# -*- coding: utf-8 -*-from ftplib import FTP
from log import Loggerclass LinkFTP:"""连接 FTP 服务器"""def __init__(self, host: str, port: int, username: str, password: str):ftp_ = FTP()# 连接ftp_.connect(host, port)# 登录ftp_.login(username, password)Logger.info(f"{host} {port} {username} {password} 连接成功")self.ftp = ftp_self.buffer_size = 2048def download_file(self, remote_path: str, local_path: str) -> None:"""从 ftp 下载文件:param remote_path: 远程服务器的目录绝对路径:param local_path::return:"""with open(local_path, 'wb') as fp:self.ftp.retrbinary('RETR ' + remote_path, fp.write, self.buffer_size)self.ftp.set_debuglevel(0)def upload_file(self, remote_path: str, local_path: str) -> None:"""从本地上传文件到 ftp:param remote_path: 远程服务器的目录绝对路径:param local_path::return:"""with open(local_path, 'rb') as fp:self.ftp.storbinary('STOR ' + remote_path, fp, self.buffer_size)self.ftp.set_debuglevel(0)def path_list(self, path: str) -> list:"""获取路径信息:param path: 路径:return:"""# 获取 ftpftp = self.ftp# 切换路径ftp.cwd(path)# 显示目录下所有目录信息ftp.dir()# 获取目录下的文件夹dir_list: list = ftp.nlst()# 排序dir_list.sort()return dir_list

2. 基本命令

ftp = FTP()  # FTP对象
ftp.set_debuglevel(2)  # 打开调试级别2,显示详细信息
ftp.connect("你的IP", "port")  # 连接的ftp sever和端口
ftp.login("user", "password")  # 连接的用户名,密码
ftp.getwelcome()  # 返回欢迎信息
ftp.cmd("xxx/xxx")  # 进入远程目录
bufsize = 1024  # 设置的缓冲区大小
filename = "filename.txt"  # 需要下载的文件
file_handle = open(filename, "wb").write  # 以写模式在本地打开文件
ftp.retrbinaly("RETR %s"%filename, 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文件

参考连接:
[1]: https://blog.51cto.com/u_11949039/2834779

Python 连接 ftp 服务器操作相关推荐

  1. Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理

    Python 连接 FTP 服务器并实现文件夹下载实例演示 第一章:连接 FTP 服务器并实现文件夹下载 ① 连接 FTP 服务器 ② 进入指定目录并显示文件信息 ③ 区分文件和文件夹名 ④ 文件夹名 ...

  2. python连接ftp服务器获取文件内容_python 访问ftp服务器文件

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. 虚拟机链接ftp服务器,linux虚拟机连接ftp服务器

    linux虚拟机连接ftp服务器 内容精选 换一换 本章节以Linux操作系统为例,指导您通过弹性云服务器内网方式连接GaussDB(for Influx)实例.目标实例必须与弹性云服务器在同一个虚拟 ...

  4. ftp文件服务器能记录操作吗,ftp服务器操作记录

    ftp服务器操作记录 内容精选 换一换 云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集.存储和查询功能,可用于支 ...

  5. 《工具箱-服务器相关》Moba连接FTP服务器,EElFTPSUnacceptedReplyError(error code is 550)已解决

    Moba连接FTP服务器,EElFTPSUnacceptedReplyError(error code is 550)已解决 使用FTP服务器连接FTP服务器,在使用过程中发现创建文件和上传文件时会报 ...

  6. mt管理器显示连接服务器失败,mt管理器连接ftp服务器

    mt管理器连接ftp服务器 内容精选 换一换 通过FTP或SFTP连接,可以对FTP或SFTP服务器抽取或加载文件,支持CSV.二进制和JSON格式.FTP和SFTP的连接参数相同. 只有运行中的云服 ...

  7. es文件管理连接ftp服务器,es文件连接ftp服务器

    es文件连接ftp服务器 内容精选 换一换 FTP/SFTP连接适用于从线下文件服务器或ECS服务器上迁移文件到OBS或数据库.当前仅支持Linux操作系统的FTP 服务器.连接FTP或SFTP服务器 ...

  8. python连接并简单操作SQLserver数据库

    python连接并简单操作SQLserver数据库 实验环境: python版本3.9 Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38 ...

  9. linux上连接ftp服务器,linux下lftp连接ftp服务器进行上传与下载的方法详解

    摘要 腾兴网为您分享:linux下lftp连接ftp服务器进行上传与下载的方法详解,中英翻译,中建在线,掌上看家,银行帮等软件知识,以及微信一键转发工具,小学英语冀教版,正是在下表情包,易问电信,万能 ...

最新文章

  1. python之常见问题集锦
  2. CSS从大图中抠取小图完整教程(background-position应用)
  3. 前向传播算法和反向传播算法
  4. pandas Series 判断每个元素是否包含某个子串
  5. 2.4 在不同的划分上进行训练并测试
  6. 计算机应用基础的题库,统考计算机应用基础题库
  7. 面试官跟我扯了半小时 CountDownLatch 后,给我发 Offer?| 原力计划
  8. 用DEM制作通用三维地形模型
  9. psql: could not connect to server: No such file or directory
  10. 磁盘的扩展卷和压缩卷显示灰色,无法使用
  11. 微信公众号支付 使用基于thinkphp 使用微信官网的sdk
  12. rmd中无法打开链结r_十个超级好用的R语言编程技巧,一般人绝不知道!
  13. 2W公里,就换EBC刹车片?
  14. Java通过正则匹配字符串中“${key}”的key
  15. 简单停车位管理系统(C语言版)
  16. python使用EMQuantAPI查看股票各种指标
  17. QT5 C++ 获取广域网 IP地址 WAN IP
  18. 计算机专业用集显电脑够用吗,买电脑该选择独立显卡还是集成显卡好呢?
  19. 中国纳米抛光浆料行业未来产销需求与投资策略建议报告2022版
  20. 关于二进制转为十六进制的算法

热门文章

  1. 华为智能音箱真的来了,一大波手机厂商也随后就到
  2. 从零开始教你设计反激开关电源(适合初学者、进阶者)
  3. jenkins+pipeline+Amazon_EKS部署java服务
  4. 视频分类论文阅读笔记——Learning Spatiotemporal Features With 3D Convolutional Networks
  5. C#字母与ASCII码的转换
  6. VC实现对Excel表格的操作
  7. 树莓派触摸屏连接方法(微雪7寸LCD)
  8. kitti数据集转换成可运行的YOLOv5格式
  9. MTK6735+Android之按键(key)修改
  10. 天勤数据结构代码——链表基本操作