gpt4 book ai didi

python - 如何检查文件是否打开以在 python 中写入 Windows?

转载 作者:可可西里 更新时间:2023-11-01 10:09:19 27 4
gpt4 key购买 nike

我们这里有一个流程,输入文件由 SAS 创建。该输入文件随后由遗留应用程序读取,并且该遗留应用程序创建结果。然后 SAS 读取结果并对其进行汇总。非程序员通常会一个一个地处理这些 Action 。所以这个人只是创建了输入文件。他们知道什么时候完成,然后他们运行遗留应用程序,他们知道什么时候完成。然后他们运行摘要程序。

我的老板想要运行大约 100 个变体。我可以访问共享网络驱动器的 3 或 4 台计算机。这是我的计划:使用计算机 A,我开始一个一个地创建 100 个输入文件。使用计算机 B,我在每个输入文件上运行遗留程序。我想在输入准备好后开始运行程序。因此,如果在计算机 A 上创建了 input1,我想在计算机 B 上的 input1 上运行遗留应用程序,同时在计算机 A 上创建 input2。我最了解 python,所以我可能会使用 python 将所有这些粘合在一起。

现在我知道我可以做很多事情,但我认为这种方法已经足够了,可以让我暂时完成工作。我真的没有时间设计和测试一个非常优雅的解决方案来利用所有机器上的所有核心或使用数据库来帮助我同步所有这些。我很欣赏这样的建议,但我真的只是想知道在 python 中是否有一种方法可以判断网络驱动器上的文件是否已打开以供任何计算机上的任何应用程序写入?如果不,我可能只是想出一个愚蠢的方法来创建一个工作完成的指示器——比如创建一个文件“doneA”,如果它存在,就意味着“input1”文件已经完成。例如。我会向 sas 程序添加一个步骤,在创建输入文件后创建一个指标文件。

很抱歉解释了这么长,但我只是不想让您浪费时间提供我可能无法实现的替代解决方案。

我读过这个question及其回应。我不认为我可以使用像 lsof b/c 这样的东西,这些文件会在不同的计算机上打开。

最佳答案

将输出写入临时文件。完成写入后,将其关闭,然后将其重命名为其他程序正在等待的名称。这样,该文件仅在准备好被读取时才会出现。

关于python - 如何检查文件是否打开以在 python 中写入 Windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4138015/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com