Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 파일 권한 변경하는 방법 (os.chmod 완벽 정리)

os.chmod()로 파일 권한 변경하기

Python에서 파일의 권한을 변경하려면 os.chmod(file, mode) 함수를 사용하면 됩니다. 이때 mode 값은 반드시 8진수(octal) 형태로 지정해야 하며, 숫자 앞에 0o 접두사를 붙여야 합니다.

예를 들어 파일에 읽기·쓰기·실행 등 모든 권한을 부여하려면 권한 값을 0o777로 설정하여 다음과 같이 작성합니다:

>>> import os
>>> os.chmod('my_file', 0o777)

반대로 파일을 읽기 전용(read-only)으로 만들고 싶다면 소유자·그룹·기타 사용자에게 읽기 권한만 부여하는 0o444를 사용하면 됩니다.

stat 모듈의 플래그 활용하기

stat 모듈에서 제공하는 상수(플래그)를 함께 사용하면 더욱 직관적으로 권한을 지정할 수도 있습니다. 각 플래그에 대한 자세한 설명은 공식 문서(https://docs.python.org/library/stat.html)에서 확인할 수 있습니다.

subprocess로 chmod 명령어 호출하기

또 다른 방법으로는 subprocess 모듈을 통해 시스템의 chmod 명령어를 직접 실행하는 방식이 있습니다:

>>> import subprocess
>>> subprocess.call(['chmod', '0444', 'my_file'])

이 방법은 Unix/Linux 계열 환경에서만 동작한다는 점에 유의해야 합니다. 운영체제에 구애받지 않는 이식 가능한 코드를 작성하려면 os.chmod()를 사용하는 것이 더 좋습니다.