首页 > 编程语言 >py-filelock python 平台无关的文件锁

py-filelock python 平台无关的文件锁

时间:2024-11-12 08:51:34浏览次数:1  
标签:filelock python lock py file path os

py-filelock 是一个平台无关的文件锁实现,可以用来实现一些基于文件锁的业务控制

参考使用

  • lock.py
import os
from filelock import Timeout, FileLock

file_path = "high_ground.txt"
lock_path = "high_ground.txt.lock"

lock = FileLock(lock_path, timeout=1)

with lock:
    if not os.path.exists(file_path):
        with open(file_path, "w") as f:
            f.write("Hello there!")

lock.acquire()
try:
    if not os.path.exists(file_path):
        with open(file_path, "w") as f:
            f.write("General Kenobi!")
finally:
    lock.release()

说明

py-filelock 还提供了其他模式的lock,使用好lock 可以解决一些因为并发或者多进程运行的问题(比如我们一些业务场景可能需要多worker,但是系统中运行的时候只能有一个进程),当然基于分布式锁也是一种选择,但是相比有点重,基于文件锁是一个很不错的选择

参考资料

https://py-filelock.readthedocs.io/en/latest/index.html#

https://github.com/tox-dev/filelock

标签:filelock,python,lock,py,file,path,os
From: https://www.cnblogs.com/rongfengliang/p/18424238

相关文章

  • Python OS 文件/目录方法
    说明目录创建和删除:mkdir 和 makedirs 可以创建新目录,使用时需要确保目录不存在。rmdir 和 removedirs 可用于删除目录,注意只会删除空目录和路径。文件操作:remove 用于删除文件,若文件不存在,则会抛出异常。rename 可以重命名文件或目录,但需要目标路径不存在。路......
  • 使用 C# 入门深度学习:Pytorch 基础
    教程名称:使用C#入门深度学习作者:痴者工良地址:https://torch.whuanle.cn1.2Pytorch基础本文内容介绍Pytorcn的基础API,主要是数组的创建方式和运算方式,由于相关内容跟Numpy比较相似,并且Numpy类型可以转torch.Tensor,因此对Numpy感兴趣的读者可以参考笔者的其它文......
  • 浅谈python回归算法及其应用
    Python中有很多常用的回归算法,可以用于解决不同的问题。以下是几种常见的回归算法及其应用:1.线性回归:线性回归是一种最简单的回归算法,用于建立自变量和因变量之间的线性关系。它可以用于预测房价、销售量等连续变量。2.多项式回归:多项式回归允许自变量与因变量之间的非线......
  • 渗透测试---python基础:基础语法的使用
    声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人一律不承担一切后果目录一、简介:什么是python?二、python安装与共存三、pip介绍 pip的优势四、基本数据类型Python3中常见的数据类型有:Nu......
  • D64【python 接口自动化学习】- python基础之数据库
    day64SQL-DQL-基础查询学习日期:20241110学习目标:MySQL数据库--133SQL-DQL-基础查询学习笔记:基础数据查询基础数据查询-过滤总结基础查询的语法:select字段列表|*from表过滤查询的语法:select字段列表|*from表where条件判断......
  • D65【python 接口自动化学习】- python基础之数据库
    day65SQL-DQL-分组聚合学习日期:20241111学习目标:MySQL数据库--133SQL-DQL-分组聚合学习笔记:分组聚合总结分组聚合的语法分组聚合的注意事项groupby中出现了哪个列,哪个列才能出现在select中的非聚合中......
  • Python开发规范
    以下是一些常见的Python开发规范,遵循这些规范有助于提高代码的可读性、可维护性和可扩展性:一、代码布局缩进:使用4个空格进行缩进,不要使用制表符(Tab)。大多数编辑器都可以设置将Tab转换为4个空格。保持缩进的一致性,同一级别的代码块应该有相同的缩进层次。行长度:......
  • 基于Python的药房管理系统
    作者:计算机学姐开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选......
  • Pyhton Turtle基本语法之小海龟画正方形和十边形
    小海龟:importturtle是python种很流行的绘制图像的函数库,通过x轴y轴进行坐标移动,绘制图形。今天我们通过例子来画一个四边形和十边形直接上例子和代码吧。一:用python语言实现画一个边长为99像素的正方形(用到变量)#用python语言实现画一个边长为99像素的正方形(用到变量)impo......
  • (1) Pytorch深度学习—数值处理
    (1)Pytorch——数值处理参考于李沐“动手学深度学习”系列以及网上各路大佬的博客资料,感谢大家的分享,如错改,如侵删。torch中的数值处理数值处理是深度学习中极其重要的一部分,张量(tensor)是后续进行处理和计算的基本单位。张量表示一个由数值组成的数组,这个数组可能有多个维度。......