我在代码中发生IOError
,除非在此实例中有效。我完整的Traceback是,
Traceback (most recent call last):
File "Utt_test.py", line 962, in <module>
IOError: [Errno 5] Input/output error: '/SAH/SAH5/jimunoz/DUSTYlib2/models_Y400_1499K/COMPACTs3200_SiW_g+1.5_m1.0_t02_st_z+0.0
close failed in file object destructor:
IOError: [Errno 5] Input/output error
close failed in file object destructor:
IOError: [Errno 5] Input/output error
以下是它提供错误的代码部分,
#print 'Begin outer loop: Accessing the full DUSTY Models through the .tbl'
for i in range(BestX):
Tin=model[BestFitsModel[0][i]][2]
Tau2=np.append(Tau2,model[BestFitsModel[0][i]][6])
Dir=model[BestFitsModel[0][i]][0]
Dir=Dir.replace('inp','out',1) ##replaces inp file-name extension with out, opens up correct .out file
with open(Dir.replace('inp','out',1),'rb') as T: #This is line 962
Tau = [line.split() for line in T if line.strip()]
(上面代码块的最后一行)
简而言之,整个代码将观察到的恒星数据与理论模型进行了比较。其中一个输入参数要求最小二乘阈值(如果模型低于阈值,则将该信息打印到文件中)。到目前为止,代码一直运行良好,但是我决定以比正常值更大的值运行阈值,留到夜晚,并回到此处。阈值越大,搜索和打印到文件所需的模型数量就越多。我在想(可能是错误的)这个动作的持续时间与此有关。但是否则我不知道该怎么做。
这对我来说很奇怪,因为程序适用于较小的值。发生了什么事?
编辑:(经过一些研究)
所以我跑dmesg
看看问题是什么,我得到了回报,
...
[3755345.325006] nfs: server pa5a not responding, timed out
[3755345.625009] nfs: server pa5a not responding, timed out
[3781101.914024] nfs: server pa5a not responding, timed out
[3781771.727017] nfs: server pa5a not responding, timed out
...
意识到nfs
意味着'网络文件服务器'(也必须查看它),我开始拼凑起来,如果程序需要很长时间服务器将“踢掉我”(可能不是最精确的语言,但我只是想了解它)。
有没有办法更改某些配置设置以防止这种情况发生?假设我必须在服务器上工作。