728x90
반응형
"Life is too short, You need python"
PermissionError: [Errno 13] Permission denied(권한이 거부되었습니다.) 에러에 대한 원인과 해결 방법에 대해 알아보도록 하겠습니다.
PermissionError: [Errno 13] Permission denied:
os의 open이나 pandas의 read_excel(csv 등...)로 file을 불러오려고 하지만 경로가 폴더인 경우 발생하는 에러 메시지입니다. 탐색기에서 폴더 경로만 복사 붙이기 후 파일명 입력은 누락하는 등의 실수로 종종 발생하게 됩니다.
방어 코드
assert expression[, assertion_message]
가정 설정문 코드(assert)를 넣습니다.
- assert : 예외처리(except)랑 비슷하나, 예외처리는 에러가 발생 시 처리를 하기 위한 코드이고, assert는 조건이 True임을 보증하기 위해서 사용하는 것 입니다. 조건이 거짓이라면 AssertionError와 에러 메시지를 발생시킵니다.
- expression : 만족해야 할 조건 형태로 작성해야 합니다.
- assert에 대한 상세한 내용은 추후 별도 포스팅을 통해 소개드리겠습니다.(@)
( 코드 입력 )
import os
path = r'd:/pylife/pandas/parser_error_example.csv'
assert os.path.isfile(path), '경로가 file이 아닙니다. 경로 정보 재확인 바랍니다.'
with open(path, 'r') as f:
pass
( 결과 출력 )
AssertionError: 경로가 file이 아닙니다. 경로 정보 재확인 바랍니다.
file 이 없을 경우 에러 메시지를 출력합니다.
마무리
PermissionError: [Errno 13] Permission denied: 에러의 원인과 방어 코드에 대해 알아보았습니다.
728x90
반응형