在我的程序中,如果文件当前不存在,许多进程可以尝试创建文件.现在我想确保只有一个进程能够创建文件,如果已经创建了其余的进程,则会得到一个异常(过程安全和线程安全的open()实现).我怎么能在python中实现这一点.
为了清楚起见,我想要的是如果文件不存在则创建该文件.但如果它已经存在则抛出异常.这一切都应该在原子上发生.
在Python 2.x中:
import os
fd = os.open('filename', os.O_CREAT|os.O_EXCL)
with os.fdopen(fd, 'w') as f:
....
Run Code Online (Sandbox Code Playgroud)
在Python 3.3+中:
with open('filename', 'x') as f:
....
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1723 次 |
| 最近记录: |