Python FTP简介(python操作ftp)
off999 2024-09-18 22:38 41 浏览 0 评论
引言
在本教程中,我们将探讨如何使用FTP和Python通过TCP/IP连接从服务器发送和接收文件。
为了更简单、更抽象,我们将使用Python的ftplib库,它提供了一系列功能,使使用ftp更容易。我们将看到从服务器上传和下载文件的实现,以及“ftplib”允许我们做的一些很酷的事情。
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中使用FTP的更多信息,请参见官方ftplib文档或RFC959。
英文原文:https://stackabuse.com/introduction-to-python-ftp/
译者:张新英
相关推荐
- u盘不显示文件夹(u盘不显示文件夹但是有内存)
-
如果您的U盘不显示文件夹,可能是由于文件夹被隐藏或损坏造成的。您可以通过以下方法解决此问题:首先,打开文件管理器,点击"查看"选项卡,勾选"隐藏文件",然后查看U盘根目...
- 电脑自带磁盘分区工具(磁盘分区工具在哪里)
-
1、右击我的电脑,选择“管理”。2、接着,在计算机管理界面选择“存储——磁盘管理”3、接着系统会自动的查询压缩空间,然后选择选择好需要压缩空间的大小。接着点击“压缩”4、等待系统自动将磁盘空间压...
- win10激活密钥永久(win10激活密钥永久正版企业版最新)
-
要获得Windows10专业版永久激活密钥,可以通过微软官方零售渠道或可靠的第三方卖家购买正版产品密钥。使用第三方卖家时,务必注意其信誉和真实性。激活后,密钥将与您的Microsoft帐户关...
- wlan不可上网怎么办(wlan显示不可上网怎么回事)
-
当wlan不能上网时,可以尝试以下解决方案:1.检查路由器或无线网络设备是否正常运作,确保其连接和配置正确。2.检查电脑或移动设备是否连接到正确的无线网络,并确保输入正确的密码。3.尝试重新启动...
- ip地址是什么(腾达路由器的ip地址是什么)
-
IP地址:IP是英文InternetProtocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。我们可以把ip地址类比成电话号码。扫地[sǎodì]&...
- win10 1703版本(window10 1703版本)
-
windows的版本是这样排序的:17为2017年,03为3月,所以此版本为2017年3月更新的版本。微软加入了不少新的功能:增强了Edge浏览器的稳定性。额外的安全和隐私保护。游戏模式更加稳定。日历...
- tplink路由器用户名(tplink路由器用户名和密码)
-
tp-link无线路由器的WiFi默认为TP-LINK_XXXX(XXXX为4位英文和数字组合)。查看tp-link无线路由器ID的方法如下:1、打开电脑浏览器,在地址栏中输入“192.168.0.1...
- 如何安装windows10家庭版(如何安装windows 10家庭版)
-
Windows10家庭版可以安装鲁大师。鲁大师是一款软件,可以用于检测电脑的系统效果和状态。然而,有人认为鲁大师被360收购后出现了很多问题,如难卸载、弹窗不断等。因此,是否需要安装鲁大师,还需要根据...
- 虚拟机安装win7镜像(虚拟机安装win7镜像软件)
-
下载VMware虚拟机win7映像文件,您可以选择官方或授权的渠道进行操作。首先,您需要确认需要下载的虚拟机镜像的操作系统和版本。通常,官方提供了一些预定义的虚拟机镜像,如Windows7等。一种可...
- cpu温度过高会怎样(cpu温度过高会造成什么影响)
-
CPU温度过高会导致一系列问题,包括但不限于以下几个方面:1.电脑运行不稳定:CPU温度过高会导致电脑运行不稳定,程序崩溃、电脑反应缓慢等问题。2.电脑硬件损坏:CPU温度过高容易导致电脑硬件损坏...
- win7进安全模式(win7进安全模式卡死)
-
1、重启或开机时,在进入Windows系统启动画面之前按下F8键,会出现系统多操作启动菜单,有三个版本的安全模式可以选择,回车就直接进入安全模式。2、重启电脑时,按住Ctrl键不放,会出现系统多操作启...
- 360手机助手下载的软件在哪里
-
在手机中打开安装好的360手机应用助手然后在360手机应用助手界面的右下角,选择“更多”,然后在这里再进入“设置”进入设置后,再选择“应用安装位置”设置最后我们选择SD卡即可根据以上步骤,就可以修改下...
- 组策略管理器怎么打开(组策略管理器怎么打开控制面板)
-
1.找不到2.本地组策略管理器可能找不到是因为它可能被禁用或者被删除了。另外,也有可能是因为你的操作系统版本不支持本地组策略管理器。3.如果你的操作系统版本不支持本地组策略管理器,你可以尝试使用...
- 电源已接通未充电什么意思(电源已接通但未充电怎么办)
-
原因分析:出现这样的原因有可能是长时间没有充电,导致电池的内部电量耗完后亏电严重,只是电脑充电的保护,不让过充而已,只要设置一下电池选项一般就可以解决问题了。解决方法:1、关机,拔下电源,拔出电池,...
- 路由器怎么桥接另外一个路由器
-
桥接分有线桥接和无线桥接,有线桥接就是两台路由器lan口通过网线相连,实现路由器的扩展;无线桥接是将后一台路由器工作模式设置为中继模式,在中继模式设置中选择前一台路由的WiFi信号,输入对应的密码,就...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
