Python脚本需要很长时间才能执行
我不是python方面的专家。我下面的脚本在拆分期间需要很长时间才能执行。下面的代码中有什么我需要更改的吗?我的猜测是,缓慢的行为是由于“for循环”。目前我使用的是python版本2.7.8 有人能帮我吗 “soapUIResponseFolder”包含“Responses\u 20121115\u TestSuite\u 1”格式的文件夹Python脚本需要很长时间才能执行,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我不是python方面的专家。我下面的脚本在拆分期间需要很长时间才能执行。下面的代码中有什么我需要更改的吗?我的猜测是,缓慢的行为是由于“for循环”。目前我使用的是python版本2.7.8 有人能帮我吗 “soapUIResponseFolder”包含“Responses\u 20121115\u TestSuite\u 1”格式的文件夹 文件夹扫描速度 请去掉python代码,只查找并打印相关文件,并将“速度”与查找某处-键入f进行比较。如果您的Python代码明显较慢,请考虑使用 Snd
文件夹扫描速度 请去掉python代码,只查找并打印相关文件,并将“速度”与
查找某处-键入f
进行比较。如果您的Python代码明显较慢,请考虑使用<代码> Sndirr < /代码>(第三方)或包含它的Python 3.5。
使用glob
glob.glob(模式)
接受类似于*.csv
的shell样式模式,在您的情况下,您可以轻松使用os.listdir()
什么是“在拆分期间”?在拆分文件夹期间,您对“很长时间”的理解可能与我的不同。请更加具体,即需要多长时间,有多少文件夹,每个文件夹中有多少文件?还有,你试过什么?您是否尝试在onlyfiles=…之后打印标记。。。行,以便您可以评估需要多长时间?大约100个文件夹,每个文件夹包含10个带有请求和响应xml的文件,这些文件需要拆分并移动到输入和输出文件夹您忽略了扫描这些文件/文件夹需要多长时间。。。具体点。
for subdir in glob.glob(soapUIResponseFolder):
subdir = os.path.normpath(subdir)
# This is a case when the os.walk returns a tuple (sequences). So we need to pick only the files path.
onlyfiles = reduce(lambda x,y : x+y, [map(lambda x: root + "/" + x, files) for root, dirs, files in os.walk(subdir)])
for file in onlyfiles:
i = 0
file = os.path.normpath(file)
fileNameWithExt = os.path.basename(file)
filename, fileExtension = os.path.splitext(fileNameWithExt)
fileExtension = ".xml"
# The filename contains several parts with - as delimiter. So lets pick only the relevant ones
part1,part2,part3,part4,part5=filename.split("-")
filename = part2+"-"+part3 + fileExtension
responseFolder = os.path.split(os.path.dirname(file))[1]
inputFolder_new = inputFolder+"/"+responseFolder
outputFolder_new = outputFolder+"/"+responseFolder