import os from ftplib import FTP # 引入ftp模块 class MyFtp: ftp = FTP() def __init__(self, host, port=21): self.ftp.connect(host, port) def login(self, username, pwd): self.ftp.set_debuglevel(2) # 打开调试级别2,显示详细信息 self.ftp.login(username, pwd) print(self.ftp.welcome) def downloadFile(self, localpath, remotepath, filename): os.chdir(localpath) # 切换工作路径到下载目录 self.ftp.cwd(remotepath) # 要登录的ftp目录 self.ftp.nlst() # 获取目录下的文件 file_handle = open(filename, "wb").write # 以写模式在本地打开文件 self.ftp.retrbinary("RETR %s" % os.path.basename(filename), file_handle, blocksize=1024) # 下载ftp文件 def close(self): self.ftp.set_debuglevel(0) # 关闭调试 self.ftp.quit() if __name__ == "__main__": ftp = MyFtp("210.68.128.195") ftp.login("topcogGF", "gF2#3621614!%#") ftp.downloadFile("./", "/reference_GF/", "PDK 40LP V1.5_5.0c - 40LP Baseline-RF-mmWave PDK.zip") ftp.close()