草庐IT

python - 复制文件,但不要覆盖,Python 中没有 TOCTTOU 问题

我知道如果我想用Python复制文件但不覆盖目标位置,我可以使用如下代码:ifos.path.exists(dest):raiseException("Destinationfileexists!")else:shutil.copy2(src,dest)但是在我调用os.path.exists和调用copy2之间,世界的状态可能会发生变化。是否有更优选的方式来复制而不覆盖,假设如果目标已经存在,复制操作将引发异常? 最佳答案 您可以使用较低级别的os.open然后os.fdopen复制文件:importosimportshutil#