Title Loading...
- Time Loading...
- Wordcount Loading...
Catalogue
关于Unix独有的python 的文件锁 模块fcntl
最近因为在做的小软件不同的进程之间需要操作同一个资源文件,于是便想到了使用文件锁。
最后找到了Unix独有的python模块“fcntl”,最开始在win开发环境使用它,却总是报错缺少这个模块,后来才知道这个模块只有Unix才有,于是开Linux虚拟机才最终正常使用,而我的程序生产环境也正好是Linux。在使用“fcntl”模块中要注意,锁定文件要在打开文件句柄之后,而解锁文件则要在关闭文件之前。
示例代码:
import fcntl
file = open('test.txt','r',encoding="utf-8") #读取一定要指定编码格式!
fcntl.flock(file,fcntl.LOCK_EX)
# ... 操作文件...
fcntl.flock(file,fcntl.LOCK_UN)
file.close() #文件关闭一定要在解锁之后