Python操作FTP服务器

tech2024-07-29  54

# coding: utf-8 from ftplib import FTP import time import tarfile import os # !/usr/bin/python # -*- coding: utf-8 -*- from ftplib import FTP class MyFTP(): def __init__(self,host, port,username, password): ftp_ = FTP() self.bufsize = 2048 ftp_.connect(host,port) ftp_.login(username,password) print("登录成功") self.ftp=ftp_ #从ftp下载文件 def downloadfile(self, remotepath, localpath): with open(localpath, 'wb') as fp: self.ftp.retrbinary('RETR ' + remotepath, fp.write, self.bufsize) self.ftp.set_debuglevel(0) #从本地上传文件到ftp def uploadfile(self, remotepath, localpath): with open(localpath, 'rb') as fp: self.ftp.storbinary('STOR ' + remotepath, fp, self.bufsize) self.ftp.set_debuglevel(0) def get_file_list(self,path="web/images"): # 包含文件名的生成器 for file in self.ftp.nlst(path): yield file # 单例模式 myftp = MyFTP("ftp.****.com",290, "***", "****") # 通过myftp.ftp获得ftp对象 if __name__ == "__main__": with myftp.ftp: # remotepath参数是远程服务器的目录绝对路径 # myftp.downloadfile(remotepath="/qiaoervip/web/images/5.jpg", localpath="5.jpg") #调用本地播放器播放下载的视频 # ftp.nlst() # 获取目录下的文件 print(myftp.get_file_list()) print('web/images/2.jpg' in myftp.get_file_list()) print('web/images/2.jpg' in myftp.get_file_list()) # myftp.uploadfile(remotepath="/qiaoervip/web/images/5.jpg", localpath="5.jpg")

 

补充

#coding=utf-8 ftp登陆连接 from ftplib import FTP # 加载ftp模块 ftp = FTP() # FTP对象 ftp.set_debuglevel(2) # 打开调试级别2,显示详细信息 ftp.connect("你的IP", "port") # 连接的ftp sever和端口 ftp.login("user", "password") # 连接的用户名,密码 ftp.getwelcome() # 返回欢迎信息 ftp.cmd("xxx/xxx") # 进入远程目录 bufsize = 1024 # 设置的缓冲区大小 filename = "filename.txt" # 需要下载的文件 file_handle = open(filename, "wb").write # 以写模式在本地打开文件 ftp.retrbinaly("RETR %s"%filename, file_handle, bufsize) # 接收服务器上文件并写入本地文件 ftp.set_debuglevel(0) # 关闭调试模式 ftp.quit() # 退出ftp # ftp相关命令操作 ftp.cwd(pathname) # 设置FTP当前操作的路径 ftp.dir() # 显示目录下所有目录信息 ftp.nlst() # 获取目录下的文件 ftp.mkd(pathname) # 新建远程目录 ftp.pwd() # 返回当前所在位置 ftp.rmd(dirname) # 删除远程目录 ftp.delete(filename) # 删除远程文件 ftp.rename(fromname, toname) # 将fromname修改名称为toname。 ftp.storbinaly("STOR filename.txt", file_handel, bufsize) # 上传目标文件 ftp.retrbinary("RETR filename.txt", file_handel, bufsize) # 下载FTP文件

 

关注公众号:Python爬虫数据分析挖掘,获取更多开源项目源码

最新回复(0)