预备工作: 创建FTP的配置文件,文件内容格式如下: hostname1 ip1 username1 password1 hostname2 ip2 username2 password2 hostname3 ip3 username3 password3 可以实现自动FTP的代码如下,我在Pycharm中运行过是,可以的。 pythone的版本是3.6.5 # coding=utf-8 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(1) # 打开调试级别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文件 # ftp.delete(filename) # 删除ftp服务器上的文件 def close(self): self.ftp.set_debuglevel(0) # 关闭调试 self.ftp.quit() if __name__ == '__main__': with open("I:\\sharefile\\a.txt", "r") as f: for line in f.readlines(): line = line.strip('\n') data = line.split('\t') hname = data[0] ipaddr = data[1] uname = data[2] passwd = data[3] ftp = MyFtp(ipaddr) ftp.login(uname,passwd) ftp.downloadFile('I:\\sharefile','/home/informix/dbxj/',hname+".txt") ftp.close()
通过python实现对多个地址进行自动FTP
最新推荐文章于 2022-08-15 11:46:30 发布