python从服务器上传和下载文件的实现

作者 : 慕源网 本文共1738个字,预计阅读时间需要5分钟 发布时间: 2021-09-21 共442人阅读

为了更简单、更抽象,我们将使用Python的ftplib库,它提供了一系列功能,使使用ftp更容易。我们将看到从服务器上传和下载文件的实现,以及“ftplib”允许我们做的一些很酷的事情。

  这篇文章主要介绍了python实现从ftp服务器下载文件的方法,涉及Python操作FTP的相关技巧,非常具有实用价值,需要的朋友可以参考下

 

本文实例讲述了python实现从ftp服务器下载文件的方法。分享给大家供大家参考。具体实现方法如下:

 

import ftplib

 

ftp = ftblib.FTP(“ftp.yourServer.com”)

 

ftp.login(“username”,”password”)

 

filename = “index.html”

 

ftp.storlines(“STOR “+filename,open(filename))

 

filename=”app.exe”

 

ftp.storbinary(“STOR “+filename,open(filename,”rb”),1024)

 

Python FTP简介

 

FTP即文件传输协议;它基于客户机-服务器模型体系结构,应用广泛。它有两个通道:一个命令通道和一个数据通道。命令通道用于控制通信,数据通道用于文件的实际传输。使用FTP可以做很多事情,比如移动、下载、复制文件等。我们将在后面的一节中讨论这一点,以及如何使用Python来实现这一点的详细信息。

 

在Python中使用FTP

 

接下来,您会很高兴地知道ftplib是一个内置的库,它已经和Python一起安装了,您所需要做的就是将它导入到脚本中,然后就可以使用它的函数了。要导入它,请使用以下命令:

  之后,我们需要启动一个到FTP服务器的连接,我们想打开一个与之通信的链接。为此,请创建一个ftp实例:

  上述方法使用默认端口(即端口21)与服务器建立连接。下一步是提供登录凭据,即用户名和密码,以访问服务器上的文件。您可以使用以下方法:

  用户名和密码的默认值分别为“anonymous”和“anonymous@”。如果连接成功,您将收到一条类似“230登录成功”的消息。

 

现在我们已经建立了到服务器的连接,我们导航到我们希望在其中执行操作的目录,即获取或写入文件。为此,我们使用以下命令更改“当前工作目录”:

  现在我们来讨论一些基本的例子,如何从目录中获取文件或将文件写入目录。在每行代码旁边的注释中提供代码的解释:

  在上面的retrbinary调用中,1024表示文件将以1024字节的块下载,直到整个文件被传输为止。

 

下载或上载文件后,您还需要做一件事-关闭该文件,并关闭已打开的FTP连接。对于上面的示例,您可以使用以下两行代码来执行此操作:

  现在让我们尝试将文件上载到服务器。除了下面的命令之外,您还必须重写上面用来打开FTP连接的命令。将文件加载到服务器。

  在上述示例中,“rb”和“wb”分别表示“读二进制”和“写二进制”。

 

 FTP其他的功能

 

既然我们已经讨论了主要特性的实现,现在让我们看看ftplib提供给我们的一些附加功能。

 

列出文件和目录

 

要以列表格式查看当前工作目录中的文件和文件夹,请运行retrlines命令:

  创建新目录

 

为了以某种方式组织文件,您可能需要在服务器上创建一个新目录,您可以使用一行代码:

  路径将是您希望新目录位于的位置。

 

从服务器中删除文件

 

删除服务器上的文件相当简单,只需将文件名作为删除函数的参数。操作的成功或失败将由。

  检查当前路径

 

要检查当前路径,只需运行以下代码:

  此命令将返回到当前工作目录的绝对路径。

 

警告

 

重要的是,虽然FTP本身很安全,但通常不用于传输敏感信息;如果您正在传输类似的内容,那么您应该选择更安全的选项,如SFTP(安全FTP)或SSH(安全shell)。这些是处理敏感数据传输最常用的协议。

 

结论

 

在本文中,我们讨论了什么是FTP,以及在不同示例的帮助下如何工作。我们还了解了如何使用Python的“ftplib”模块使用FTP与远程服务器通信,并了解了该模块提供的其他一些功能。最后,我们还讨论了一些更安全的FTP替代方案,如用于传输敏感信息的SFTP和SSH。

 

 


慕源网 » python从服务器上传和下载文件的实现

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录