24小时热门版块排行榜    

CyRhmU.jpeg
查看: 336  |  回复: 1

天涯求真

木虫 (小有名气)

[求助] 求教如何办到这个功能 python函数编写难题,大神进已有1人参与

import os                                                                 1
slist=[]                                                                      2
slist2=[]                                                                    3
##处理每进一个文件夹,就完成一次完全执行  
def oslist(dir_path,file_type):                                      4   
    for i in os.listdir(dir_path):                                       5
        abspath=os.path.join(dir_path , i)                      6
        if os.path.isdir(abspath):                                     7
                oslist(abspath,file_type)                              8
        else:slist.append(abspath)                                   9
              
    print(file_type)                                                        10
    if not file_type:                                                        11
        print('1')                                                              12

        return (slist  )                                                       13
    else:                                                                        14
        for i in slist:                                                          15
            if i.endswith(file_type):                                     16
               
                slist2.append(i)                                            17
                print('2')                                                     18
    return set(slist2)                                                     19
#本人想在9行完全执行以后(完全写完目录中所有file路径)再执行以后的步骤,现在的代码是每满足一次9的条件就会继续执行下面的代码,要求是在这个函数里完成,,不越出函数处理。谢谢大神了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingoabs

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
天涯求真: 金币+5, 有帮助 2015-09-02 19:09:51
1、是不是你把 print语句写成else中子句了;
2、为什么你不使用一个简单的class,在其中定义好oslist(dir_path,file_type),其他地方直接引用就好,没必要这么写。我觉得估计是缩进的问题。
2楼2015-09-02 13:30:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 天涯求真 的主题更新
信息提示
请填处理意见