时间:2021-05-22
这篇文章主要介绍了python ftplib模块使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件。
ftp登陆连接
ftp相关命令操作
FTP.quit()与FTP.close()的区别
下载、上传文件
上传、下载文件/目录
注:目录内为文件,若为目录则无法传输
import osimport ftplibclass myFtp: ftp = ftplib.FTP() bIsDir = False path = "" def __init__(self, host, port='21'): # self.ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 # self.ftp.set_pasv(0) #0主动模式 1 #被动模式 self.ftp.encoding = 'GB2312' # 解决中文编码问题,默认是latin-1,如果将 encoding='utf-8'报错,可以 改为GB2312、gbk、ISO-8859-1 self.ftp.connect(host, port) def login(self, user, passwd): self.ftp.login(user, passwd) print(self.ftp.welcome) def down_load_file(self, local_file, remote_file): file_handler = open(local_file, 'wb') self.ftp.retrbinary("RETR %s" % remote_file, file_handler.write) file_handler.close() return True def up_load_file(self, local_file, remote_file): if not os.path.isfile(local_file): return False file_handler = open(local_file, "rb") self.ftp.storbinary('STOR %s' % remote_file, file_handler, 4096) file_handler.close() return True def up_load_file_tree(self, local_dir, remote_dir): if not os.path.isdir(local_dir): return False # print("local_dir:", local_dir) local_names = os.listdir(local_dir) # print("list:", local_names) # print(remote_dir) self.ftp.cwd(remote_dir) for Local in local_names: src = os.path.join(local_dir, Local) if os.path.isdir(src): self.up_load_file_tree(src, Local) else: self.up_load_file(src, Local) self.ftp.cwd("..") return def down_load_file_tree(self, local_dir, remote_dir): print("remote_dir:", remote_dir) if not os.path.isdir(local_dir): os.makedirs(local_dir) self.ftp.cwd(remote_dir) remote_names = self.ftp.nlst() # print("remote_names", remote_names) # print(self.ftp.nlst(remote_dir)) for file in remote_names: local = os.path.join(local_dir, file) if self.is_dir(file): self.down_load_file_tree(local, file) else: self.down_load_file(local, file) self.ftp.cwd("..") return def show(self, list): result = list.lower().split(" ") if self.path in result and "<dir>" in result: self.bIsDir = True def is_dir(self, path): self.bIsDir = False self.path = path # this ues callback function ,that will change bIsDir value self.ftp.retrlines('LIST', self.show) return self.bIsDir def close(self): self.ftp.quit()if __name__ == "__main__": ftp = myFtp('10.126.64.14',21) ftp.login("usr_esop", "PWD4ftp@201903#") ftp.down_load_file_tree(r"C:\PycharmProjects\untitled\backup", "/ZS_ESOP/55-548410/-/zh/Split") # ok ftp.up_load_file_tree(r"C:\PycharmProjects\untitled\backup", "/ZS_ESOP/55-548410/-/zh/Split") # ok ftp.close() print("ok!")以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python使用ftplib实现简易FTP客户端的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python#-*-codi
本文实例讲述了python通过ftplib登录到ftp服务器的方法。分享给大家供大家参考。具体实现方法如下:importftplibconnect=ftplib
一、用ftplib模块连接远程服务器ftplib模块常用方法ftp登陆连接fromftplibimportFTP#加载ftp模块ftp=FTP()#设置变量ft
Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块。当然你也可以利用ftplib从ftp站点下载文件
python使用ctypes模块调用windowsapiGetVersionEx获取当前系统版本,没有使用python32复制代码代码如下:#!c:/pytho