Python如何获取ftp下所有文件名

WJheyongliang 2016-08-04 09:52:48
如何用python 语言实现ftp搜索功能,初步构思了个框架:
使用标准库ftplib模块
1.连接ftp服务器
2.运用dir()获取目录
3.运用nlst()获取文件名
4.存储文件名
现在只能获取到二级目录,再往深嵌套目录就有点茫然不知所措了,大家有没有好点的解决办法啊
...全文
1310 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomiba0904 2016-08-10
  • 打赏
  • 举报
回复
我自己以前做的一个自动同步目录的脚本 python 2.7

#coding:utf8
import os,shutil,time,filecmp

ml = []#需对比的目录
bendidir = os.getcwd()
zhudir = r''#需要输入主文件目录
t1 = 1 #检测刷新时间要求大于1分钟单位分钟

def mlchuli(dir,mllist):
    llist = []
    for a in mllist:
        mldir = os.path.join(dir,a)
        llist.append(mldir)
    return llist

zhudir = mlchuli(zhudir,ml)
bendidir = mlchuli(bendidir,ml)



def zpcp(path1,path2):
    '''
    对比目录和目录下的文件
    :param path1: 目标目录
    :param path2: 本地目录
    :return:
    '''
    dirobj = filecmp.dircmp(path1,path2)
    dirlist = dirobj.left_only
    if dirlist != []:
        for i in dirlist:
            dir1 = os.path.join(path1,i)
            dir2 = os.path.join(path2,i)
            try:
                shutil.copytree(dir1,dir2)
            except:
                shutil.copy2(dir1,dir2)

    else:
        try:
            zpdir = os.listdir(path2)[-1]
            dir1 = os.path.join(path1,zpdir)
            dir2 = os.path.join(path2,zpdir)
            dirobj = filecmp.dircmp(dir1,dir2)
            dirlist = dirobj.left_only
            if dirlist != []:
                for i in dirlist:
                    try:
                        shutil.copy2(os.path.join(dir1,i),os.path.join(dir2,i))
                    except:
                        print  "copy error"
        except:
            pass

while True :
    if filecmp.cmp(zhudir[0],bendidir[0]) == False:
        try:
            map(zpcp,zhudir[1:],bendidir[1:])
            shutil.copy2(zhudir[0],bendidir[0])
            print"updatatime:%s" %time.ctime()
        except:
            time.sleep(30)
            print "restart"
            continue
    time.sleep(t1*60)
shaode01 2016-08-05
  • 打赏
  • 举报
回复
获取文件名的时候判断是不是目录,是目录就递归调用自己

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧