Python 写入文件时[Errno 13]权限被拒绝的情况不一致
我有一些python代码以特定的间隔写入到文件中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
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,我不会写入该文件),但问题仍然存在。