Python에서 열린 파일의 시스템 구성 정보 얻기
Python에서 os.fpathconf(file_descriptor, name) 함수를 호출하면 열려 있는 파일과 관련된 시스템 구성 정보를 조회할 수 있습니다. 두 번째 인자인 name에는 가져올 구성 값의 이름을 지정하며, 정의된 시스템 값을 나타내는 문자열을 사용할 수 있습니다. 이러한 이름들은 POSIX 등 여러 표준 규격에 의해 정의되어 있습니다.
주의: 이 함수는 Unix 계열 시스템(Linux, macOS 등)에서만 사용할 수 있으며, Windows 환경에서는 동작하지 않습니다.
주요 설정값 예시
PC_LINK_MAX: 파일에 허용되는 최대 링크(하드 링크) 개수PC_NAME_MAX: 디렉터리 내 파일 이름의 최대 길이
사용 예제
다음은 파일을 연 뒤 해당 파일의 최대 링크 수와 파일 이름 최대 길이를 조회하는 예제입니다.
import os
# 파일 열기 (읽기/쓰기 모드, 없으면 생성)
fd = os.open("foo.txt", os.O_RDWR | os.O_CREAT)
# 파일에 허용되는 최대 링크 수 조회
no = os.fpathconf(fd, 'PC_LINK_MAX')
print(f"파일의 최대 링크 수: {no}")
# 파일 이름의 최대 길이 조회
no = os.fpathconf(fd, 'PC_NAME_MAX')
print(f"파일 이름의 최대 길이: {no}")
# 파일 닫기
os.close(fd)실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
파일의 최대 링크 수: 127 파일 이름의 최대 길이: 255
출력되는 실제 값은 운영체제나 파일 시스템의 종류에 따라 달라질 수 있습니다. 이처럼 os.fpathconf()를 활용하면 파일 시스템의 제약 조건을 사전에 파악하여, 파일 이름 길이 초과나 링크 개수 제한 같은 오류를 예방하는 견고한 프로그램을 작성할 수 있습니다.