我有一些目录,我需要更新我正在使用下面的代码
for newdir in newdirs:
olddir = newdir.replace('h:\\','G:\\').replace('_academic','')
shutil.rmtree(newdir)
shutil.copytree(olddir,newdir)
我偶尔会出错
^{pr2}$由于错误不会发生在以前的目录上,所以我决定原因一定是访问冲突-rmtree调用和copytree之间发生的时间太少,所以我修改了代码以浪费一些时间
for newdir in newdirs:
olddir = newdir.replace('h:\\','G:\\').replace('_academic','')
shutil.rmtree(newdir)
for item in range(0,20,1):
pass
shutil.copytree(olddir,newdir)
这使错误消失,旧目录被复制到新位置。在
我不喜欢这个,因为它看起来很摇摇欲坠-即使对我来说。在
如果错误在你等待时消失了,那么你可能对原因没有错。因此,按照等待的想法,但要有目的地等待,这可能会稍微好一点:
如果发生某种奇怪的错误,阻止删除目录但不引发异常,
while
循环理论上可能永远运行,但我发现这是极不可能的。在我一点也不为这个解决方案感到骄傲,但除非有新的知识,这应该比任意延迟更简单一些。在
相关问题 更多 >
编程相关推荐