【发布时间】:2013-01-29 02:05:18
【问题描述】:
判断文件是否存在时,使用try语句如何避免“竞态条件”?
我问这个问题是因为高度支持的answer(更新:它已被删除)似乎暗示使用os.path.exists() 创造了一个原本不存在的机会。
给出的例子是:
try:
with open(filename): pass
except IOError:
print 'Oh dear.'
但我不明白与以下相比如何避免竞争条件:
if not os.path.exists(filename):
print 'Oh dear.'
调用os.path.exists(filename) 如何让攻击者对文件做一些他们无法做到的事情?
【问题讨论】:
标签: python race-condition