代码是这样子的:
if tf.gfile.Exists('/home/sarah/data/projector/tree.py'):
tf.gfile.DeleteRecursively("/home/sarah/data/projector/tree.py")
执行的时候总是报以下这个错:
tensorflow.python.framework.errors_impl.FailedPreconditionError: /home/sarah/data/projector/tree.py
去查官方文档,文档里说 FailedPreconditionError 这个错通常是因为尝试去读一个没有初始化的 variable 导致的,跟我这里的情况不符合。
后来发现是 DeleteRecursively 函数传入的参数有问题。
DeleteRecursively 函数的参数必须是一个directory,函数执行后会递归删除这个目录下的所有内容,最后把这个目录也删除掉,我的代码中传入的是文件路径,不是directory name, 所以才报的这个错。
改成这样就行了:
if tf.gfile.Exists('/home/sarah/data/projector/tree.py'):
tf.gfile.DeleteRecursively("/home/sarah/data/projector")
执行时会递归删除projector目录。