通过python实现对多个地址进行自动FTP

预备工作:
    创建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()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值