栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

打开已经打开的文件不会引发异常

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

打开已经打开的文件不会引发异常

有关在Python中如何打开多个文件的信息,请参见其他答案和注释。如果已阅读所有内容,但仍想锁定对POSIX平台上文件的访问,则可以使用fcntl库。

请记住:A)其他程序可能会忽略您对文件的锁定,B)一些联网的文件系统不能很好地实现锁定,或者根本没有实现C)请务必非常小心地释放锁定并避免死锁成群不会检测到它[1]

[2]。

例子.... script_a.py

from datetime import datetimefrom time import sleepimport fcntlwhile True:    sleep(1)    with open('foo.txt', 'w') as f:        s = str(datetime.now())        print datetime.now(), "Waiting for lock"        fcntl.flock(f, fcntl.LOCK_EX)        print datetime.now(), "Lock clear, writing"        sleep(3)        f.write(s)        print datetime.now(), "releasing lock"        fcntl.flock(f, fcntl.LOCK_UN)

script_b.py

import fcntlfrom datetime import datetimewhile True:    with open('foo.txt') as f:        print datetime.now(), "Getting lock"        fcntl.flock(f, fcntl.LOCK_EX)        print datetime.now(), "Got lock, reading file"        s = f.read()        print datetime.now(), "Read file, releasing lock"        fcntl.flock(f, fcntl.LOCK_UN)        print s

希望这可以帮助!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号