Python pysftp 模块2025年1月12日 | 阅读 7 分钟 SFTP,即 SSH 文件传输协议 的缩写,也称为 安全文件传输协议,是一种网络协议,允许我们在任何可靠的数据流上访问、传输和管理文件。该程序在一个安全通道上工作,例如 SSH,该通道已经由服务器对客户端进行了身份验证,并且客户端用户的身份可供协议使用。 使用脚本处理 SFTP 事宜,如果我们使用 Python 等编程语言,总是可以得到支持的。Python 提供了 pysftp 模块,使我们能够轻松高效地处理这项技术。 在接下来的教程中,我们将通过一些示例来理解 pysftp 模块及其在 Python 编程语言中的用途。那么,我们开始吧。 理解 Python pysftp 模块Python pysftp 模块是 SFTP 的一个简单接口。该模块提供了高级抽象和基于任务的调度,以处理 SFTP 的需求。SFTP 协议本身不提供安全性,也不提供身份验证;它依赖于底层协议来保护它。SFTP 最广泛的用途是作为 SSH 协议版本 2 的子系统实现,由同一工作组设计。 Python pysftp 模块是一个用户友好的接口,旨在简化 Python 应用程序中的 SFTP (安全文件传输协议) 操作。pysftp 构建在 paramiko 库之上,该库为 SSH 通信提供了强大的基础,它简化了安全文件传输的复杂性,使开发人员能够专注于核心应用程序逻辑,而不是安全文件处理的细节。 在核心上,pysftp 能够通过 SSH 轻松连接到远程服务器。通过利用简单的语法和 Pythonic 的资源管理方式(通过 `with` 语句),pysftp 确保连接的安全建立并在使用后正确关闭。这最大限度地减少了留下未关闭连接的风险,而未关闭连接可能是重大的安全隐患。 现在,让我们安装 Python SFTP 模块或 pysftp。 如何安装 pysftp 模块?pysftp 接口并未暴露 Paramiko 的大部分功能;然而,它使用单个方法抽象了大部分功能。相比之下,pysftp 模块在 Paramiko 之上实现了更多高级功能,特别是递归文件传输。 我们可以使用 pip 安装程序和以下命令来安装 pysftp 模块 语法 该模块将以 Python 和 pip 的版本安装到系统中。 验证安装为了检查模块是否已正确安装到系统中,我们可以尝试导入模块并执行程序。 安装完成后,创建一个新的 Python 文件并在其中输入以下语法。 示例 现在,保存文件并在命令提示符下使用以下命令运行该文件。 语法 如果程序运行没有出现任何导入错误,则表示模块已正确安装。否则,建议重新安装模块并参考其官方文档。 使用 pysftp 访问 SFTP 服务器我们可以使用 Python 中的 pysftp 模块列出目录的内容。为了实现此目标,我们需要主机名、用户名和密码。 然后,我们需要使用 chdir 或 cwd 方法切换目录,并将第一个参数指定为远程目录。 让我们来看一个相同的示例。 示例 说明 上面的代码片段是一个不存在的虚拟服务器。但实际上,我们需要利用环境变量来获取原始凭据,并将它们存储在任何文件中以确保安全,而不是将所有凭据都放在单个文件中。建议将其放在环境变量文件中。例如,.env 文件。 现在,让我们理解上面的代码。上面的代码片段对任何人来说都是相同的,因为我们需要提供凭据,程序就会开始工作。 首先,我们导入了 pysftp 模块,然后提供了变量来存储主机名、用户名和密码的值。然后,我们使用 Python 的 with 语句,通过提供主机名、用户名和密码来打开与远程服务器的安全连接。如果成功,我们将切换到远程目录,获取列表,并在控制台中逐个打印。 列表的顺序是任意的,不包含唯一的条目 '.' 和 '..'。返回的 SFTPAttributes 对象将包含一个额外的字段:longname,它可能包含 UNIX 格式的文件属性的格式化字符串。字符串的内容将取决于 SFTP 服务器。 使用 Python 中的 pysftp 上传文件我们可以使用 pysftp 通过 SFTP 将文件上传到远程服务器,方法是使用 SFTP 客户端的 sftp.put() 函数。put 方法将我们要上传的文件的本地相对或绝对路径作为第一个参数,并将文件应该上传到的远程路径作为第二个参数。 让我们看下面的代码片段以更好地理解。 示例 说明 在上面的代码片段中,我们建立了安全连接,然后定义了两个文件路径——local_File_Path 和 remote_File_Path。
然后,我们使用了 sftp.put() 函数将文件上传到服务器。 使用 Python 中的 pysftp 下载远程文件在前一节中,我们介绍了如何使用 pysftp 上传文件。现在,让我们探讨如何下载文件。要使用 pysftp 从远程服务器下载文件,您首先需要打开与服务器的连接。连接成功后,您可以使用 sftp 实例的 get 方法。此方法接受两个参数:第一个是要下载的远程文件的路径,第二个是文件将在您的系统上保存的本地路径。 让我们看下面的例子来演示这一点。 示例 说明 在上面的代码片段中,我们定义了一个连接,然后定义了两个文件路径——remote_File_Path 和 local_File_Path。
然后,我们使用 sftp.get() 函数下载文件。 使用 Python 中的 pysftp 删除文件我们可以使用 pysftp 的 sftp.remove() 函数来删除文件。remove() 函数将远程文件的绝对路径作为第一个参数。 让我们看下面的例子来演示这一点。 示例 说明 在上面的代码片段中,我们打开了一个连接,然后定义了一个 remove_File_Path 变量,该变量包含需要删除的文件的路径。 然后,我们使用 sftp.remove() 函数将文件从远程服务器删除。 pysftp 模块有多种函数可供我们使用,例如处理权限等,可以执行各种活动。也可以参考 Python pysftp 模块的官方文档。 下一主题Python 的惊人技巧 |
在本教程中,我们将探讨如何使用 PyQt5 开发用户表单。用户表单本质上是一个对话框,它在输入用户数据时为用户提供了额外的控制和易用性。有时有必要创建用户表单,而...
5 分钟阅读
在本教程中,我们将了解如何借助 Python 编程语言将 CSV 格式文件转换为 JSON 格式文件。但在开始之前,让我们了解 CSV 和 JSON 文件的含义。什么是 CSV 文件?CSV 文件是...
5 分钟阅读
全世界数百万用户使用消息应用程序 Telegram。此外,Telegram 还提供 API,允许我们构建机器人并自动化消息传输。因此,在本文中,我们将使用 Python 将消息发送给 Telegram 用户。您可能知道...
阅读 3 分钟
简介:在本教程中,我们将学习关于。它以矩阵形式接收输入,可以按列执行字符串连接。它还处理列表变量的长度。当您想要垂直组合矩阵时,可以使用列表推导。示例:现在,我们给出了一些垂直组合的例子……
阅读 4 分钟
- Element Tree 库 在本教程中,我们将学习如何使用 Python 解析 XML,使用 Python ElementTree 包修改和填充 XML 文件。为了理解数据,我们还将学习 XPath 表达式和 XML 树。让我们简要介绍一下……
阅读 13 分钟
在本教程中,我们将学习 RabbitMQ 并使用 Python 实现它。本教程还将为您简要介绍消息队列并定义基本概念。我们将了解 RabbitMQ、消息队列、交换机等许多其他内容的基本功能。在深入探讨之前...
阅读9分钟
Pyramid 是一个通用的开源 Python 框架,用于开发 Web 应用程序。此框架使 Python 开发人员能够轻松创建 Web 应用程序。Pyramid 框架由企业知识管理系统 KARL(一个乔治·索罗斯项目)提供支持。环境设置如前所述,“从小处着手,大处收尾,...
阅读 6 分钟
任何使用 Python 编程语言的开发人员都应该优先编写简短、高效、清晰且可读的代码行。为了使事情更容易,Python 提供了三元运算符,它提供了一种更短、更方便的编写条件...
阅读 6 分钟
通过数据收集创建用于训练和验证我们模型的模型数据集,是提高模型性能最常见的机器学习方法。数据集的拆分比例可以是 70:30 或 80:20。留出法是最常见的交叉验证...
阅读 8 分钟
在这个问题中,我们将得到两个链表。这两个链表将在它们各自的一个节点上合并,形成一个 Y 形列表。我们必须找到链表合并的节点。让我们看一些例子来理解...
阅读 16 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India