我正在使用os.walk搜索一个html文件,但它花了2分钟才返回文件。有什么建议可以提高性能吗?
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来搜索一个特定的文件,性能会更好?
我希望你们能分享一些关于这个问题的想法。
谢谢。
发布于 2017-05-23 16:05:33
我认为你可以优化你的代码很多,你有多个冗余检查。试着摆脱所有这些东西,
只需保留这部分代码,它将为您工作
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}您可以添加要从函数返回数据的最后一行
https://stackoverflow.com/questions/44128078
复制相似问题