PYTHON遍历FTP目录 获取其下所有文件记录

最近有个需求需要统计ftp上指定目录下的所有文件信息,因为目录层级较深,不同目录存在重名文件,后期会需要根据文件大小做一些筛选。所以计划对初始目录进行遍历,输出其下所有文件的全路径和大小。代码如下:

#coding=utf-8
# writre by qy.wu

from ftplib import FTP
import pymysql

def get_ftp_dir(start_path):
    ftp_ip = ''
    user = ''
    passwd =''
    start_dir =''
    ftp = FTP()
    start_path =start_path
    ftp.connect(host=ftp_ip,port=21)
    ftp.login(user=user,passwd=passwd)
    fp = open("try.txt",'w+')
    ##获取传入初始路路径下的所有文件和大小 输出到文件中
    def run(start_path):
        ftp.cwd(start_dir)
        dir_res = []
        ftp.dir['.',dir_res.append]
        for i in dir_res:
        	##判断是否是目录
            if i.startwith('d'):
            	##如是目录回调run()方法  
                run(ftp.pwd()+'/'+str(i).split(' ')[-1])
                ftp.cwd('..')
            else:
            	##如不是目录 排除total 0的非目标数据后,输出目录数据					
                if len(str(i).split(' ')) >3 :
                    fp.writelines(ftp.pwd()+"/"+str(i).split(' ')[-1]+"  "+str(i).split(' ')[-5]+"\n")

输入结果样式如下:

PYTHON遍历FTP目录 获取其下所有文件记录_第1张图片

你可能感兴趣的:(ftp,python)