【发布时间】:2015-01-14 03:07:04
【问题描述】:
我有一个脚本在等待循环中使用 100% 的单个内核。该脚本应处理出现在预设目录中的文件。因此,它会等到文件出现,然后处理它们。大致是这样的:
slept = 0
while True:
if len(glob.glob(src_diretory+suffix)) > 0:
slept=0
# cast black magic spells on files ending in suffix, located in src_directory
else:
print("Slept "+str(slept)+" times.."
slept+=1
sleep.sleep(1)
在这种情况下,相当频繁的len(glob.glob(src_diretory+suffix)) 是否会导致如此高的 CPU 使用率?
【问题讨论】:
-
你确定
else真的有效吗?您是否从src_diretory+suffix目录中删除/重命名文件? -
else确实有效,用print("something")进行了测试,我刚刚检查了sleep甚至是1s 而不是0.1s。是的,如果找到文件,它们会被移动、处理然后删除。
标签: python performance while-loop sleep cpu-usage