当前需求:从FTP服务器上下载文件到本机,处理完成后,再把结果上传至FTP服务器指定路径下。
一、ftplib模块–FTP协议客户端
Python中默认安装的ftplib模块定义了FTP类,可以用来实现简单的ftp客户端,实现上传、下载文件功能。
说明手册: ftplib — FTP protocol client — Python 3.5.9 documentation
1、FTP类及其方法
class FTP(host='', user='', passwd='', acct='', timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None)
| 参数 | 含义 |
|---|---|
host |
主机,调用connect(host)方法 |
user |
调用login方法 |
timeout |
超时参数,若不指定,则应用全局超时参数 |
source_address |
2个元组(主机,端口) |
class FTP:
# FTP client class
debugging = 0
host = ''
port = FTP_PORT
maxline = MAXLINE
sock = None
file = None
welcome = None
passiveserver = 1
encoding = "latin-1" #此处为默认编码模式
# 初始化方法
# 可选的参数是host(对于connect()),以及user, passwd, acct(对于login())
def __init__(self, host='', user='', passwd='', acct='',
timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None):
self.source_address = source_address
self.timeout = timeout
if host:
self.connect(host)
if user:
self.login(user, passwd, acct)
| 名称 | 含义 |
|---|---|
set_debuglevel() |
定义: FTP.set_debuglevel(level)功能:设置实例的调试级别,0:不输出(缺省值),1:中等调试输出,通常每个请求一行,2:显示详细信息 |
connect() |
定义:FTP.connect(host='', port=0, timeout=None, source_address=None)功能:连接到给定的主机和端口。默认端口号是 21,由FTP协议规范指定。很少需要指定其他端口号。每个实例只应调用一次该函数。如果在创建实例时给出了主机,则根本不应该调用它。所有其他方法只能在建立连接后使用。可选的timeout参数指定连接尝试的超时时间(以秒为单位)。如果没有超时,则使用全局默认超时设置。source_address是2个元组(主机,端口),套接字在连接之前绑定为其源地址。 |
getwelcome() |
定义:FTP.getwelcome()功能:返回服务器发送的欢迎消息以回复初始连接。(此消息有时包含与用户有关的免责声明或帮助信息。) |
login() |


858

被折叠的 条评论
为什么被折叠?



