python对ftp进行操作

背景:需要对ftp进行操作,涉及上传和下载操作
 
from ftplib import FTP
 
ftp = FTP(host=“ftp的hostname",user=‘登录用户名', passwd='登录密码')  # 连接到ftp
 
ftp.set_debuglevel(2)  # 打开调试级别2,显示详细信息
 
def download(filename,bufsize=1024):# bufsize设置的缓冲区大小
    file_handle = open(filename, "wb").write  # 以写模式在本地打开文件
    ftp.retrbinary("RETR %s"%filename, file_handle, bufsize)  # 接收服务器上文件并写入本地文件
 
def upload(filename,bufsize=1024):
    file_handle2 = open(filename, "rb") # 以只读模式打开本地文件
   filename = filename.split("/")[-1 #有可能上传路径,所以处理一下 ftp.storbinary('STOR %s'%filename, file_handle2, bufsize)#上传本地filename到服务器,filename为上传到服务器上后显示的名字,第二个参数为上传的本地文件 ftp.getwelcome() # 打印出欢迎信息 ftp.cwd('目录名') # 进入远程目录 ftp.rmd(‘目录名') # 在ftp上删除目录 ftp.mkd('目录名') # 在ftp上创建目录 ftp.pwd() # 打印当前ftp目录 ftp.dir() # 打印ftp上当前目录下的所有文件 ftp.quit() # 退出ftp
具体说明:
1.ftp = FTP(host=“ftp的hostname",user=‘登录用户名'passwd='登录密码)
实际调用了FTP().login来登录
 
2.download从ftp上下载文件
本地文件需要已wb写模式打开,然后通过retrinary()方法下载
 
3.upload上传本地文件到ftp服务器上
本地文件已只读模式打开,然后通过storbinary()方法上传
第一个参数为上传命令,filename为放到服务器上的名字;第二个参数为要上传的本地文件 
 
4.其他一些常用方法
getwelcome():打印ftp欢迎语,在ftp服务器上设置的
cwd(‘目录名’):进入ftp服务器的某目录,切换目录
rmd(‘目录名’):删除目录
mkd(‘目录名’):创建目录
ftp.pwd():打印当前目录
dir():打印当前目录下的所有文件
quit()或close():关闭ftp连接
 
备注:如果想实现上传目录或根据正则匹配上传文件,需要自己单独写方法
原文地址:https://www.cnblogs.com/meitian/p/7475683.html