Python 写入文件时[Errno 13]权限被拒绝的情况不一致

Python 写入文件时[Errno 13]权限被拒绝的情况不一致,python,permissions,redhat,Python,Permissions,Redhat,我有一些python代码以特定的间隔写入到文件中 chainer.serializers.save_npz(model_path, model) 其中,model是一个模型,model\u path设置为一个现有的可写路径,models/my\u test.model 在代码执行期间的随机点,在多次成功写入promtps后: [Errno 13] Permission denied. 我正在Red Hat Enterprise Linux Server 7.5版(Maipo)系统上通过ssh

我有一些python代码以特定的间隔写入到文件中

chainer.serializers.save_npz(model_path, model)
其中,
model
是一个模型,
model\u path
设置为一个现有的可写路径,
models/my\u test.model

在代码执行期间的随机点,在多次成功写入promtps后:

[Errno 13] Permission denied.
我正在Red Hat Enterprise Linux Server 7.5版(Maipo)系统上通过ssh运行代码。有足够的空闲空间,所以这不是问题所在

我尝试在每次写入之前使用chmod更改文件的权限,但没有任何更改

我注意到的另一件奇怪的事情是,即使我使用shell脚本运行python代码,该脚本应该依次运行几个程序,但如果其中一个程序由于权限错误而中断,下一个程序也不会启动


知道发生了什么吗

当触发的上一次运行仍在对文件执行任务时,会发生此问题。因此,请使用下面的代码段确保文件上没有打开的句柄。如果打开,则关闭手柄或等待其完成

import psutil

def has_handle(fpath):
    for proc in psutil.process_iter():
        try:
            for item in proc.open_files():
                if fpath == item.path:
                    return True
        except Exception:
            pass

    return False

你能发布一些代码让我们看到可能发生的情况吗?确保在触发新运行之前完成上一次执行。如果程序的前一个实例仍在运行,则可能会创建此实例issue@PARMESH,问题发生在单个python脚本的执行过程中。我不确定如何检查上次写入文件是否完成,但每次写入之间至少有一分钟的间隔。这是我运行作业的服务器的问题:它是一个远程服务器,当我ssh写入它时,它会发出10小时的通知单,一旦通知单过期,它会杀死所有作业。我尝试过了(如果has_handle()返回True,我不会写入该文件),但问题仍然存在。