프로그래밍언어/파이썬[Error]

[파이썬][Error] 063. PermissionError - [Errno 13] Permission denied: 'readonly.txt'

about_IT 2025. 5. 29. 00:19
728x90

PermissionError: [Errno 13] Permission denied: 'readonly.txt' 오류는 파일이나 디렉토리에 접근할 때, 현재 사용자에게 권한이 없을 경우 발생합니다. 보통 읽기 전용 파일을 쓰기 모드로 열거나, 시스템 보호 디렉토리에 파일을 생성하려 할 때 나타납니다.

운영체제의 파일 권한 제어, 관리자 권한 부족, 또는 파일을 잠금 상태로 사용 중일 때도 이 오류가 발생할 수 있습니다. 특히 Windows에서는 특정 파일이 다른 프로세스에 의해 사용 중인 경우에도 동일한 오류가 발생합니다.

● 오류 발생 예시

with open("readonly.txt", "w") as f:
    f.write("쓰기 시도")

readonly.txt가 읽기 전용 속성이거나 권한이 없는 위치일 경우 PermissionError가 발생합니다.

PermissionError: [Errno 13] Permission denied: 'readonly.txt'

● 해결 방법

  • 파일 또는 디렉토리의 권한을 확인하고 수정
  • 관리자 권한으로 실행하거나 권한이 있는 경로 사용
  • 다른 프로그램에서 해당 파일을 열고 있는지 확인
  • 읽기 전용 속성 여부를 확인하여 쓰기 가능하도록 변경

● 예시 코드 (권한 확인)

import os
print(os.access("readonly.txt", os.W_OK))  # 쓰기 가능 여부 확인

● 자주 하는 실수

  • 시스템 보호 디렉토리(C:\Windows 등)에 접근 시도
  • 다른 사용자 계정의 파일에 쓰기 시도
  • Jupyter에서 열려 있는 파일을 다른 셀에서 다시 쓰기 시도

● 결론

PermissionError - Permission denied 오류는 접근 권한이 없을 때 발생합니다. 항상 파일의 권한을 점검하고, 쓰기나 실행 권한이 필요한 작업은 관리자 권한으로 실행하거나 권한이 있는 경로를 사용하는 습관이 필요합니다.

728x90