【问题标题】:Python IOError: [Errno 5] Input/output error?Python IOError:[Errno 5] 输入/输出错误?
【发布时间】:2018-09-17 23:31:34
【问题描述】:

我正在远程服务器上运行一个使用 nohup 的 python 脚本。

  • 首先我使用 VPN 和 SSH 连接到远程机器
  • 其次,我使用以下命令运行 python 脚本:

    nohup python backmap.py mpirun -np 48 &

python 脚本包含以下几行:

frame = []
file_in = open("Traj_equil_prot.pdb", "r")
for line in file_in:
    if line.startswith('TITLE'):
        frame.append(line[127:134])

import os
for fileNum in range(631, 29969):
    os.system("./initram-v5.sh -f Traj_equil_prot_frame" +  str(fileNum) + ".pdb -o Traj_equilprot_aa_frame" + str(frame[fileNum]) + ".gro -to amber -p topol.top")

脚本一整天都运行良好。但现在它刚刚崩溃,当我再次尝试重新启动它时,我收到以下错误:

Traceback(最近一次调用最后一次):文件“”,第 1 行,in IOError: [Errno 5] 输入/输出错误

该文件位于工作目录中。我试图再次断开/连接,但仍然是同样的问题。我不知道我错过了什么。请帮忙?

【问题讨论】:

  • 我不确定是否相关,但您从未关闭过file_in
  • 我只是尝试在 python 中打开文件并使用 file_in.close() 关闭它。断开并重新连接到远程计算机并再次运行脚本,但我仍然收到相同的错误:/

标签: python


【解决方案1】:

我有同样的问题,我曾经使用这个命令运行我的脚本:

python MY_SCRIPT.py &

脚本将在后台运行,输出将显示在终端上,直到您注销或退出。

通过注销,脚本仍在运行,但它的输出无处显示,因此,当脚本要显示某些内容时(例如调用 print)会出现异常。


解决方案:

我已将输出通过管道传送到实际终端显示之外的其他地方:

python MY_SCRIPT.py >/dev/null &

查看此链接了解更多详情:

https://stackoverflow.com/a/38238281/6826476

【讨论】:

  • 或者我认为你可以使用 nohup。 nohup python myscript.py &
【解决方案2】:

我终于通过打开文件“file_in”、修改它(例如,只需在 REMARK 行中添加一个点)并保存更改来解决问题。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2019-09-21
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多