프로그래밍언어/파이썬[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