FTP - File Transfer Protocol
FTP - File Transfer Protocol
FTP 实际上使用了两个 TCP 链接. 一个作为控制信道用, 主要传输一些指令和响应,
比如 ACK 或 错误码. 另一个链接是数据信道, 用来传输文件和一些诸如目录列表的
信息等. from ftplib import FTP, all_errors
FtpServerAddr = ''
user = ''
PW = ''
acct = '' FH = FTP(FtpServerAddr)
FH.login(user, PW, acct) # 不带参数表示 anonymous 登入 FH.getwelcome() # 获取问候语
FH.pwd() # 获取当前工作目录
FH.cwd() # 更换工作目录
FH.retrlines('cmd', 'callable') # 以 ASCII 模式下载, 文件被一行一行的传输.
# 一般 callable 是一个保存文件到本地的函数,
# 省略 callable, 数据将被打印到屏幕.
# cmd = 'RETR filename'
FH.retrbinary('cmd', 'callable', 'blocksize', 'rest')
# 以二进制模式下载数据
# If optional rest is given, a REST command is sent to the server,
# passing rest as an argument. rest is usually a byte offset into
# the requested file, telling the server to restart sending the file’s
# bytes at the requested offset, skipping over the initial bytes.
# Note however that RFC 959 requires only that rest be a string containing
# characters in the printable range from ASCII code 33 to ASCII code 126.
# The method, therefore, converts rest to a string, but no check is performed
# on the string’s contents. If the server does not recognize the REST command,
# an error_reply exception will be raised. If this happens, simply call method
# without a rest argument. FH.storbinary('cmd', 'FH', 'blocksize', 'callable', 'rest')
# 对应 socket 的 read() 方法, 二进制模式.
# cmd = 'STOR filename'
FH.storlines('cmd', 'FH', 'callable')
# 对应 socket 的 readline() 方法, ACSII 模式.
# cmd = 'STOR filename'
FH.nlst() # 获取路径下的条目
FH.dir() # 获取路径下的条目及相信信息, ls - la / dir FH.delete('filename') # 删除 filename 文件
FH.rmd('dirname') # 删除 dirname 目录
FH.mkd('dirname') # 建立 dirname 目录
FH.rename('fromname', 'toname') # 重命名
FH.quit() # 断开 FTP 链接 Error Handling,
ftplib.all_errors 包含累所有的有可能由 fitplib 产生的异常.
可以在 try: except 代码块中通过 ftplib.all_errors 来捕捉
处理可能发生的错误. Reference,
Python doc,
https://docs.python.org/3/library/ftplib.html
FTP - File Transfer Protocol的更多相关文章
- FTP(File Transfer Protocol)是什么?
文件传输协议 FTP(File Transfer Protocol),是文件传输协议的简称.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过 ...
- Trivial File Transfer Protocol (TFTP)
Assignment 2The Trivial File Transfer Protocol (TFTP) is an Internet software utility fortransferrin ...
- TFTP(Trivial File Transfer Protocol,简单文件传输协议)
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是 TCP/IP 协议族中用来在客户机和服务器之间进行简单文件传输的协议,开销很小.这时候有人可能会纳闷,既 ...
- TFTP(Trivial File Transfer Protocol,简单文件传输协议)
网络特性 通常使用UDP 69端口(据说可改成TCP) 与FTP区别 轻量级,适用于传输小文件,当然功能也少些,比如没有列出目录功能,不进行认证
- ftp - Internet 文件传输程序 (file transfer program)
概述 (SYNOPSIS) ftp [-pinegvd ] [host ] pftp [-inegvd ] [host ] 说明 (DESCRIPTION) 用户通过 Ftp 这个程序来使用 Inte ...
- SSH File Transfer遇到错误"too many authentication failures for root".A protocol error was detected......
在SSH Secure Shell 连接Linux centos的时候,遇到F-Secure SSH File Transfer错误"too many authentication fai ...
- How to setup vsftpd FTP file Server on Redhat 7 Linux
Forward from: https://linuxconfig.org/how-to-setup-vsftpd-ftp-file-server-on-redhat-7-linux How to s ...
- Hyper Text Transfer Protocol(超文本传输协议)
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- PAT 5-8 File Transfer (25分)
We have a network of computers and a list of bi-directional connections. Each of these connections a ...
随机推荐
- 如何用visual studio code更好的编写python
目录 1.先决条件 2.Visual Studio Code扩展安装Python 3.Visual Studio Code扩展安装Python for VSCode 4.Visual Studio C ...
- SpringSecurity 初始化流程源码
SpringSecurity 初始化流程源码 本篇主要讲解 SpringSecurity初始化流程的源码部分,包括核心的 springSecurityFilterChain 是如何创建的,以及在介绍哪 ...
- DOCKER学习_017:Docker-Compose介绍
dockers三驾马车 Docker Machine Docker Swarm Docker Compose 一 Docker Compose介绍 Docker Compose是一个定义和运行多容器应 ...
- 一道简单到爆 Java面试题,居然挂了一票人
很多时候bug往往都是出在,我们觉得非常简单,不起眼的基础知识上 年前公司最后一波招人,为年后项目做技术储备,主要招聘对象初中级Java开发,要求也并没有多苛刻,唯一一点基础稍好,快速上手做项目就行. ...
- Java.数据结构.集合体系详解
I. 第一部分:常见数据结构 首先简单说下数据结构. 什么是数据结构?数据结构就是组织数据的方式. 常见的数据结构:栈,堆,树,图,数组,队列,链表. 这里主要介绍与java集合体系相关的栈.数组和链 ...
- ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程
基础教程之导出Pdf收据 说明 本教程主要说明如何使用Magicodes.IE.Pdf完成Pdf收据导出 要点 导出PDF数据 自定义PDF模板 导出单据 如何批量导出单据 导出特性 PdfExpor ...
- SpringSecurity 自定义表单登录
SpringSecurity 自定义表单登录 本篇主要讲解 在SpringSecurity中 如何 自定义表单登录 , SpringSecurity默认提供了一个表单登录,但是实际项目里肯定无法使用的 ...
- java中implements和extends的区别
1,extends是继承某个类的,可以使用某个类的方法,也可以重写父类的方法. 2,implements是用于实现类接口,可以实现一个或多个类的接口,接口的方法一般为空的,所以必须重写这一个或多个的方 ...
- 实用代码|javaMail发送邮件(文末重磅资源!)
每天进步一点点,距离大腿又近一步!阅读本文大概需要5分钟 JavaMail发送邮件,简单实用,了解一下呗~ 1.开启邮箱MAP/SMTP服务,获取第三方授权码 以QQ邮箱为例 2.主要代码 maven ...
- Quartz cron 表达式(linux 定时器,java 定时任务,spring task定时任务)
原文地址:https://blog.csdn.net/feng27156/article/details/39293403 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但 ...