首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >os.walk搜索的改进

os.walk搜索的改进
EN

Stack Overflow用户
提问于 2017-05-23 15:13:11
回答 1查看 162关注 0票数 0

我正在使用os.walk搜索一个html文件,但它花了2分钟才返回文件。有什么建议可以提高性能吗?

代码语言:javascript
复制
path1 = "//ggco/kk"
shp_list = []
for dirpath, dirnames, y in os.walk(path1):
    for k in y:
        k.startswith(Lot_Operation_combine) and k.endswith(".html")
        fullpath = os.path.join(dirpath, k)
        shp_list.append(fullpath)

        if os.path.isfile(fullpath):
            path = "//ggco/kk"
            shp_list = []
            for dirpath, dirnames, x in os.walk(path):
                for f in x:
                    if f.startswith(Lot_Operation_combine1) and f.endswith(".html"):
                        fullpath = os.path.join(dirpath, f)
                        shp_list.append(fullpath)

                        if os.path.isfile(fullpath):
                            with open(fullpath, 'r')as f:
                                f_contens = f.read()
                                print(f_contens)

                            kau = f_contens
                            context = {"Final": kau}
                            return render(request, 'Output.html', context)

        else:

            path = "//ggco/kk"
            shp_list = []
            for dirpath, dirnames, x in os.walk(path):

                for f in x:
                    if f.startswith(Lot_Operation_1A) and f.endswith(".html"):
                        fullpath = os.path.join(dirpath, f)
                        shp_list.append(fullpath)

                        if os.path.isfile(fullpath):
                            with open(fullpath, 'r')as f:
                                f_contens = f.read()

                                print(f_contens)

                            kau = f_contens
                            context = {

                                "Final": kau
                            }
                            return render(request, 'Output.html', context)

我是python编程语言的新手。

你有没有想过用os.walk来搜索一个特定的文件,性能会更好?

我希望你们能分享一些关于这个问题的想法。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-05-23 16:05:33

我认为你可以优化你的代码很多,你有多个冗余检查。试着摆脱所有这些东西,

只需保留这部分代码,它将为您工作

代码语言:javascript
复制
path = "//ggco/kk"
shp_list = []
for dirpath, dirnames, x in os.walk(path):

    for f in x:
        if f.startswith(Lot_Operation_combine1) and f.endswith(".html"):
            fullpath = os.path.join(dirpath, f)
            shp_list.append(fullpath)
            kau = ''                
            with open(fullpath, 'r')as f:
                f_contens = f.read()

                print(f_contens)

                kau = f_contens
                context = {"Final": kau}

您可以添加要从函数返回数据的最后一行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44128078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档