当前位置: 首页 > 面试题库 >

在Python中锁定文件

郜谦
2023-03-14
问题内容

我需要锁定一个文件才能用Python编写。将同时从多个Python进程访问它。我在网上找到了一些解决方案,但大多数解决方案出于我的目的而失败,因为它们通常仅基于Unix或Windows。


问题答案:

好了,所以我最后讲了我在这里编写的代码,在我的网站上的链接已失效,在archive.org上查看(也可以在GitHub上查看)。我可以按以下方式使用它:

from filelock import FileLock

with FileLock("myfile.txt.lock"):
    print("Lock acquired.")
    with open("myfile.txt"):
        # work with the file as it is now locked


 类似资料:
  • 问题内容: 我有一个新来的人(隔壁的少年)写一些php代码来跟踪我的网站上的一些用法。我不熟悉php,所以我想问一下有关并发文件访问的问题。 我的本机应用程序(在Windows上)偶尔会通过点击包含我的php脚本的URL将一些数据记录到我的站点。本机应用程序不检查返回的数据。 这是一个人流量低的站点,并且数据并不重要。但是,如果两个用户发生冲突并且脚本的两个实例各自尝试向该文件添加一行,会发生什么

  • 问题内容: 我在使用Java在Windows中删除文件时遇到一些问题。由于某种原因,java会锁定我的文件,但我不知道为什么。这是我的代码: file.delete()以及在资源管理器中手动尝试拒绝删除该文件,因为它仍在使用中。尽管在Linux中一切似乎都很好。 我在某处缺少close()吗?我可以确认首先使文件成为关闭文件的方法,因为我可以在使用file.delete()运行上述代码之前删除文件

  • Guy的任何人都可以帮助我,我的netbean 8.0.1有问题,我无法卸载,有一条错误消息“C:\User\X\AppData\Roaming\Netbean\8.0.1\lock存在锁定文件”。

  • 问题内容: 我有几个线程(其中一些由进程X产生,其他由进程Y 等产生 ),并且每个线程都需要写入文件。但是,如果开始写第一,那么,当开始写作,它需要等待到 释放文件 ,以便它可以读取写在该内容。换句话说,每个线程都会有一个方法,如下所示: 我的问题是:如何完成以上代码?我正在研究该类,但是它在Javadoc中说: “文件锁代表整个Java虚拟机持有。它们不适合控制同一虚拟机中多个线程对文件的访问。

  • 我看不出有什么区别。我读到了这篇文章:actual-use-of-lockinterruptbly-for-a-reentrantlock 想测试一下。代码如下: 这里是Inturrept班 控制台输出: 正如回答中提到的“这与常规锁()相同。但如果另一个线程中断,等待的线程lockInterruptbly()将抛出InterruptedException。”即使它是锁着的。lock()或lock

  • 问题内容: 我的Java程序想要读取一个文件,该文件可以被另一个写入该文件的程序锁定。我需要检查文件是否已锁定,如果已锁定,请等待它释放。我该如何实现? Java程序在Windows 2000服务器上运行。 问题答案: 在带有Sun JVM的Windows下,尽管JavaDoc保留了相当模糊的可靠性(取决于系统),但FileLocks应该可以正常工作。 但是,如果您只需要在Java程序中识别出 其