삼바 드라이버 설치 시 Python에서 드물게 IOError 발생

삼바 드라이버 설치 시 Python에서 드물게 IOError 발생

프로그램:

  1. 삼바 드라이브 마운트(sudo mount.cifs...)
  2. 주피터 노트북 시작
  3. 여러 개의 MATLAB 파일을 열고 이에 대해 무거운 작업을 수행하는 스크립트를 실행합니다.
  4. 코드를 실행하고 일주일 후에 다시 돌아오도록 하세요.

90%의 경우 모든 것이 문제 없이 잘 작동합니다. 하지만 때로는 IOError로 인해 코드가 중간에 중지되는 경우도 있습니다.

OSError                                   Traceback (most recent call last)
/opt/anaconda/envs/py36qt5/lib/python3.6/site-packages/scipy/io/matlab/mio.py in _open_file(file_like, appendmat)
     30     try:
---> 31         return open(file_like, 'rb'), True
     32     except IOError:

OSError: [Errno 5] Input/output error:

물론 열 수 없는 파일이 존재하는지 확인했으며 스크립트를 다시 실행하면 문제 없이 열 수 있습니다.

우리 연구소의 LAN에 연결된 원격 삼바 드라이브의 경우 짧은 응답 지연이 발생할 수 있음을 이해합니다. 아마도 그것이 이유일 것이다.

내 질문은 다음과 같습니다

  1. 문제의 원인을 진단하는 방법
  2. 내 파일에 일시적으로 액세스할 수 없는 경우 파일 로드 명령에 대한 래퍼 스크립트를 제안해 주시겠습니까?scipy.io.loadmat(파일명))이 충돌하는 대신 파일 로드를 다시 시도합니까?

답변1

OSError가 계속해서 코드로 반환되면 이를 포착하고 다시 시도하세요. 존재하지 않는 경우 matlab을 호출하기 전에 파일이 존재하는지 확인하십시오. MATLAB이 몇 시간 동안 응답하지 않고 실행되는 경우 재시도 루프를 사용하여 파일을 패치하는 것을 고려해 보십시오. 소스 코드는 거기에 있으며 충분한 권한이 있으면 편집할 수 있습니다.

관련 정보