python sftp上传_基于python实现FTP文件上传与下载(ftp&sftp协议)

本文介绍了Python中使用ftplib和paramiko模块实现FTP及SFTP协议进行文件上传和下载的操作。通过示例代码展示了如何进行FTP的文件传输,以及SFTP的目录遍历和文件传输。总结了FTP.quit()与FTP.close()的区别,并指出在实际场景中,如定时任务中文件名通常采用日期命名。
摘要由CSDN通过智能技术生成

前言:FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件

在传输文件时我们可能会选择sftp和ftp两种协议中的一种,两者的主要区别在于安全与传输速度,FTP传输数据的过程,他们在不同协议下的默认端口号是不同的,它有两种传输模式:主动传输模式(PORT)和被动传输模式(PASSIVE,简称PASV),关于FTP相关内容这里就不做详细数明了,这里将以python语言实现其功能

一 、基于ftp协议

Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下

ftp登陆连接

from ftplib import FTP #加载ftp模块

ftp=FTP() #设置变量

ftp.set_debuglevel(2) #打开调试级别2,显示详细信息

ftp.connect("IP","port") #连接的ftp sever和端口

ftp.login("user","password") #连接的用户名,密码

print ftp.getwelcome() #打印出欢迎信息

ftp.cmd("xxx/xxx") #进入远程目录

bufsize=1024 #设置的缓冲区大小

filename="filename.txt" #需要下载的文件

file_handle=open(filename,"wb").write #以写模式在本地打开文件

ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服务器上文件并写入本地文件

ftp.set_debuglevel(0) #关闭调试模式

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值