相关疑难解决方法(0)

如何使用try语句避免竞争条件?

在确定文件是否存在时,如何使用try语句避免"竞争条件"?

我问,因为一个高度赞成的答案(更新:它被删除)似乎意味着使用os.path.exists()创造了一个不存在的机会.

给出的例子是:

try:
   with open(filename): pass
except IOError:
   print 'Oh dear.'
Run Code Online (Sandbox Code Playgroud)

但我不明白如何避免竞争条件相比:

if not os.path.exists(filename):
    print 'Oh dear.'
Run Code Online (Sandbox Code Playgroud)

如何调用os.path.exists(filename)允许攻击者对他们不能做的文件做些什么?

python race-condition

26
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

race-condition ×1