【python】文件锁fcntl模块
文件锁之fcntl模块
1. 例子
import sys
import time
import fcntl
class FLOCK(object):
def __init__(self, name):
self.fobj = open(name, 'w')
self.fd = self.fobj.fileno()
def lock(self):
try:
fcntl.lockf(self.fd, fcntl.LOCK_EX | fcntl.LOCK_NB) # 给文件加锁,使用了fcntl.LOCK_NB
print '给文件加锁,稍等 ... ...'
time.sleep(20)
return True
except:
print '文件加锁,无法执行,请稍后运行。'
return False
def unlock(self):
self.fobj.close()
print '已解锁'
if __name__ == "__main__":
print sys.argv[1]
locker = FLOCK(sys.argv[1])
a = locker.lock()
if a:
print '文件已加锁'
else:
print '无法执行,程序已锁定,请稍等'
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
set(value) #或者
集合内置方法完整列表:
1. 实例
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)
输出:
{'apple', 'banana', 'orange', 'cherry'}
2. 实例
thisset = set(("Google", "Runoob", "Taobao"))
thisset.clear()
print(thisset)
输出:
set()