os.access() 함수로 파일 존재 및 권한 확인하기
Python에서는 os.access(path, mode) 함수를 사용하여 특정 파일의 존재 여부뿐만 아니라 읽기, 쓰기, 실행 권한까지 한 번에 확인할 수 있습니다. 이 함수는 지정한 경로의 파일이 해당 모드에 대한 접근이 가능하면 True를, 그렇지 않으면 False를 반환합니다.
주요 모드 상수
- os.F_OK — 파일의 존재 여부를 확인합니다.
- os.R_OK — 파일을 읽을 수 있는 권한이 있는지 확인합니다.
- os.W_OK — 파일에 쓸 수 있는 권한이 있는지 확인합니다.
- os.X_OK — 파일을 실행할 수 있는 권한이 있는지 확인합니다.
사용 예제
>>> import os
>>> os.access('my_file', os.F_OK) # 파일 존재 여부 확인
True
>>> os.access('my_file', os.R_OK) # 읽기 권한 확인
True
>>> os.access('my_file', os.W_OK) # 쓰기 권한 확인
True
>>> os.access('my_file', os.X_OK) # 실행 권한 확인
False참고 사항
위 예제에서 my_file은 실제로 존재하고 읽기·쓰기가 가능하지만, 실행 권한은 없어 마지막 결과가 False로 반환된 것을 볼 수 있습니다. 참고로 단순히 파일의 존재 여부만 확인하고 싶다면 os.path.exists()나 Python 3.4 이상에서 제공되는 pathlib.Path.exists()를 사용하는 것이 더 간결할 수 있습니다. 반면, 파일 작업 전에 권한까지 함께 검증해야 하는 경우에는 os.access()가 유용하게 활용됩니다.