pythonファイルロック
772 ワード
まずライブラリを導入する
import fcntl
ファイルを開く
f = open('./test')
ファイルの暗号化:
fcntl.flock(f, fcntl.LOCK_EX)
これによりファイルtestがロックされ、他のプロセスがtestをロックする場合は成功せず、ブロックされますが、プログラムは終了しません.
ロック解除:
fcntl.flock(f,fcntl.LOCK_UN)
ロックを解除すると、他のプロセスでファイルをロックできます.
もう1つの共有ロック:acquire a shared lock
fcntl.flock(f,fcntl.LOCK_SH)
ファイルロックスナップ例外
import fcntl
ファイルを開く
f = open('./test')
ファイルの暗号化:
fcntl.flock(f, fcntl.LOCK_EX)
これによりファイルtestがロックされ、他のプロセスがtestをロックする場合は成功せず、ブロックされますが、プログラムは終了しません.
ロック解除:
fcntl.flock(f,fcntl.LOCK_UN)
ロックを解除すると、他のプロセスでファイルをロックできます.
もう1つの共有ロック:acquire a shared lock
fcntl.flock(f,fcntl.LOCK_SH)
ファイルロックスナップ例外
1 #!/usr/bin/env python
2 #coding:utf-8
3 """
4
5 """
6
7 import fcntl
8 import time
9
10 try:
11 fp = open('_filelock','w')
12 fcntl.flock(fp.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
13 print ' '
14 time.sleep(50)
15 fp.close()
16 except IOError:
17 print "lock"