Python - SFTP

SFTP 也称为 SSH 文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protocol,中文:安全文件传送协议,英文:Secure FTP或字母缩写:SFTP)。 它是一种网络协议,是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。可通过任何可靠的数据流提供文件访问、文件传输和文件管理。 该程序通过 SSH 等安全通道运行,服务器已经对客户端进行了身份验证,并且客户端用户的身份可用于该协议。

pysftp 模块是一个简单的 SFTP 接口。 该模块提供高级抽象和基于任务的例程来处理 SFTP 需求。 因此,使用以下命令将模块安装到我们的 python 环境中。

pip install pysftp

示例

在下面的示例中,使用 sftp 登录到远程服务器,然后在该目录中获取和放置一些文件。


import pysftp

with pysftp.Connection('hostname', username='me', password='secret') as sftp:

    with sftp.cd('/allcode'):           # temporarily chdir to allcode
        sftp.put('/pycode/filename')  	# upload file to allcode/pycode on remote
        sftp.get('remote_file')         # get a remote file

当运行上面的代码时,我们能够看到 allcode 目录中存在的文件列表,并且还可以在该目录中放置和获取一些文件。