首页
社区
课程
招聘
[原创]python实现遍历FTP目录并自动下载
发表于: 2013-6-16 12:10 14709

[原创]python实现遍历FTP目录并自动下载

2013-6-16 12:10
14709
# coding:gbk
'''
Created on 2013-6-15

@author: 本师
'''
import ftplib
import os
import socket
#HOST是远程FTP地址
HOST = '222.222.444.92'
DIRN = 'hcjy/css/'

def main():
    try:
        f = ftplib.FTP(HOST)
    except ftplib.error_perm:
        print('无法连接到"%s"' % HOST)
        return
    print('连接到"%s"' % HOST)
    
    try:
        #user是FTP用户名,pwd就是密码了
        f.login('user,'pwd')
    except ftplib.error_perm:
        print('登录失败')
        f.quit()
        return
    print('登陆成功')
    
    try:
       #得到DIRN的工作目录
        f.cwd(DIRN)
    except ftplib.error_perm:
        print('列出当前目录失败')
        f.quit()
        return
    print(f.nlst())
  #f.nlst()返回一个当前目录下的列表返回给downloadlist
    downloadlist = f.nlst()
    try:
        os.getcwd()
       #创建一个css的同名文件夹
        os.mkdir('css')
      #切换到css文件夹,也就是改变当前工作目录,目的是为了将要下载的文件下载到这个文件夹
        os.chdir('css')
       #遍历刚才返回的文件名列表
        for FILE in downloadlist:
            f.retrbinary('RETR %s' % FILE,open(FILE,'wb').write)
            
            print('文件"%s"下载成功' % FILE)
    except ftplib.error_perm:
        print('无法读取"%s"' % FILE)
        os.unlink(FILE)
    else:
        print('文件全部下载完毕!')
        f.quit()
        return
    
    
    
if __name__ == '__main__':
    main() 

以下是一张命令行下运行成功的截图

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你这样写前提是ftp目录里面不能包含目录.
getcwd()导致被其他脚本调用会有问题..
有点不实用...
2013-6-16 14:16
0
游客
登录 | 注册 方可回帖
返回
//