背景:需要对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") # 以只读模式打开本地文件 ftp.storbinary(‘STOR %s‘%filename, file_handle2, bufsize)#上传本地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()方法上传
4.其他一些常用方法
getwelcome():打印ftp欢迎语,在ftp服务器上设置的
cwd(‘目录名’):进入ftp服务器的某目录,切换目录
rmd(‘目录名’):删除目录
mkd(‘目录名’):创建目录
ftp.pwd():打印当前目录
dir():打印当前目录下的所有文件
quit()或close():关闭ftp连接
备注:如果想实现上传目录或根据正则匹配上传文件,需要自己单独写方法
时间: 2024-11-10 09:58:04