2013-02-28 3 views

답변

4

:

파일 작업은 I/O 관련 이유로 실패

는 예외 IOError가 발생합니다. 여기에는 작업이 정의되지 않은 상황 (예 : seek(), tty 장치 또는 읽기 용으로 열린 파일 작성)이 포함됩니다.

이유는 각 방법의 예외를 언급하지 않고는이 IO 관련 이유로 인해 모든 file있어서 오류가 발생한 동일한 예외 (IOError)는 점이다.

다음과 같이 추출 할 수있는 오류 번호를 기반으로 IO 오류의 유형을 찾을 수 있습니다

try: 
    f = open("nosuchfile.txt") 
except IOError as e: 
    print e.errno 

이러한 오류 번호는하지 파이썬에서의 OS에서 왔습니다. 위의 경우 2이 인쇄됩니다. No such file or directory은 오류 2입니다. No space left on device은 일반적으로 오류 28이지만 OS에 따라 다를 수 있습니다.

+0

감사합니다. 다른 실패 모드가 무엇인지 알고 싶습니다. 예를 들어, 어떤 이유로 그 파일에 쓸 수 없다면 새 파일을 시작할 것입니다. 그러나 디스크 공간이 부족하면 모두 포기합니다. 이러한 실패를 차별화 할 수있는 방법이 있습니까? – Alex

+1

@alex : 편집 참조 –

관련 문제